Socket 封裝雙向連線的兩組端點資訊:
類比:IP = 電話號碼,Port = 分機號。同一 IP 可透過不同 Port 同時與多個遠端通訊。
Socket (底層)
├─ TcpListener:封裝 Bind/Listen/Accept,專用於伺服器端接受連線
└─ TcpClient:封裝 Connect/Send/Receive,專用於用戶端發起連線與資料收發
TcpListener.AcceptTcpClient() 回傳 TcpClient,後續收發均由該 TcpClient 負責;TcpListener 持續監聽不變。
TcpListener.Start() 監聽 Port。TcpClient.Connect() 發起連線 (三向交握)。AcceptTcpClient() 返回新 TcpClient 代表此連線。TcpClient.GetStream() 進行全雙工資料收發。TcpListener。TcpClient。