一個 Java 的 Sock…

一個 HelloWord 級別的 Java Socket 通信的例子。通訊過程:
        先啓動 Server 端,進入一個死循環以便一直監聽某端口是否有連接請求。然後運行 Client 端,客戶端發出連接請求,服務端監聽到這次請求後向客戶端發回接受消息,連接建立,啓動一個線程去處理這次請求,然後繼續死循環監聽其他請求。客戶端輸入字符串後按回車鍵,向服務器發送數據。服務器讀取數據後回覆客戶端數據。這次請求處理完畢,啓動的線程消亡。如果客戶端接收到 "OK" 之外的返回數據,會再次發送連接請求併發送數據,服務器會爲這次連接再次啓動一個線程來進行響應。。。直到當客戶端接收到的返回數據爲 "OK" 時,客戶端退出。

        服務端源代碼:

package com.defonds.socket.begin; 
 
import java.io.BufferedReader; 
import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.InputStreamReader; 
import java.net.ServerSocket; 
import java.net.Socket; 
 
public class Server { 
    public static final int PORT = 12345;//監聽的端口號    
     
    public static void main(String[] args) {   
        System.out.println("服務器啓動...\n");   
        Server server = new Server();   
        server.init();   
    }   
   
    public void init() {   
        try {   
            ServerSocket serverSocket = new ServerSocket(PORT);   
            while (true) {   
                // 一旦有堵塞, 則表示服務器與客戶端獲得了連接   
                Socket client = serverSocket.accept();   
                // 處理這次連接   
                new HandlerThread(client);   
            }   
        } catch (Exception e) {   
            System.out.println("服務器異常: " + e.getMessage());   
        }   
    }   
   
    private class HandlerThread implements Runnable {   
       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章