ServerSocket server = new ServerSocket(9998) 這條語句創建了一個服務器對象,這個服務器使用9998號端口。當一個客戶端程序建立一個Socket連接,所連接的端口號為9998時,服務器對象server便響應這個連接,并且server.accept()方法會創建一個Socket對象。服務器端便可以利用這個Socket對象與客戶進行通訊。
BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream())); PRintWriter out = new PrintWriter(incoming.getOutputStream(),true); 隨后,就可以使用in.readLine()方法得到客戶端的輸入,也可以使用out.println()方法向客戶端發送數據。從而可以根據程序的需要對客戶端的不同請求進行回應。
在所有通訊結束以后應該關閉這兩個數據流,關閉的順序是先關閉輸出流,再關閉輸入流,即使用
out.close(); in.close(); 二、建立客戶端代碼
相比服務器端,客戶端要簡單一些,客戶端只需用服務器所在機器的 Socket socket = new Socket("168.160.12.42",9998); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(),true); 以上的程序代碼建立了一個Socket對象,這個對象連接到ip地址為168.160.12.42的主機上、端口為9998的服務器對象。并且建立了輸入流和輸出流,分別對應服務器的輸出和客戶端的寫入。