1. 程式人生 > >java Socket程式設計之TCP基本原理

java Socket程式設計之TCP基本原理

通訊原理:
1.伺服器程式建立一個ServerSocket,呼叫accept方法等待客戶機來連線。
2.客戶端程式建立一個Socket,請求與伺服器建立連線。
3.伺服器接收客戶機的連線請求,同時建立一個新的Socket與客戶端建立連線。伺服器繼續等待新的請求。
關鍵類:
ServerSocket類

方法 返回值 說明
accept() Socket 等待客戶機連線。若連線,則建立一套接字
isBound() boolean 判斷ServerSocket繫結狀態
isClosed() boolean 返回伺服器套接字關閉狀態
close() Void 關閉伺服器套接字
bind(SocketAddress) Void 將ServerSocket繫結到特定的ip和埠號

TCP實現關鍵程式碼:
伺服器端:

   private ServerSocket server;
   private BufferedReader reader;
   private Socket socket;
   server = new ServerSocket(8888);
   socket = server.accept();
   reader = new BufferedReader(new InputStreamReader(socket .getInputStream()));
   .... //輸出等其他操作
   reader.close();
   socket.close();
   server.close();

客戶端:

private Socket socket;
private PrintWriter writer
socket = new Socket(8888);
writer = newPrintWriter (socket .getOutputStream(),true)

思考:
對於兩臺計算機進行通訊,可以將每臺計算機部署服務端和客戶端,從而實現資訊傳送和接收。上述程式碼是實現單向通訊,若想實現雙向通訊,需要同時擁有客戶端和服務端的程式碼。