java Socket程式設計之TCP基本原理
阿新 • • 發佈:2018-11-26
通訊原理:
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)
思考:
對於兩臺計算機進行通訊,可以將每臺計算機部署服務端和客戶端,從而實現資訊傳送和接收。上述程式碼是實現單向通訊,若想實現雙向通訊,需要同時擁有客戶端和服務端的程式碼。