.net.Socket 網路實作
Last updated
Was this helpful?
Last updated
Was this helpful?
使用 TCP 作為通信機制,Client / Server 架構對應到Socket
和 ServerSocket
兩個物件。
開始連接
Server端用 listen() 來監聽 Client端,設定對應的 port 與 domain。
Client端用 Socket 物件 和 Server端做連接,連接 Server 的 domain 與開啟的 port。
連接後,會用 accept() 來取得和 Client 端連線的物件。
完成連接
,就能使用 I/O 進行連接,即 socket物件 的 InputStream() / OutputStream()。
結束連接
,呼叫 close() 來關閉所有使用到的 Socket物件。
使用 UDP 作為通信機制。
DatagramSocket
本身只是港口,不維護狀態,唯一作用就是接收和傳送資料。
DatagramPacket
物件,用於處理數據,並自身決定資料的目的地。
連接準備
,雙方建立港口 DatagramSocket
物件,設定對應的 port 與 domain。
接收 - 建立接收物件
透過 DatagramPacket
物件建立接收到的位元組與資料長度。
socket 需開啟 receive() 接收物件,會一直開啟直到接收到資料。
傳遞 - 建立傳遞物件
透過 DatagramPacket
物件建立內容與目的地,即位元組、資料長度、IP 和 Port 。
socket 需開啟 send() 傳遞物件,持續開啟直到成功傳送。
可實現多點廣播。