TcpClient 連線方式
- 建構式指定遠端端點:
new TcpClient("localhost", 8500) 會立即發起連線 (同步阻塞)。
- 無參數建構式 +
Connect():分離建立與連線動作。
- 均為同步 (阻塞) 操作,連線成功或拋出例外前不會返回。
- 非同步對應:
BeginConnect / ConnectAsync。
用戶端程式碼
class Client
{
static void Main()
{
Console.WriteLine("Client Running ...");
TcpClient client = new TcpClient();
try { client.Connect("localhost", 8500); }
catch (Exception ex) { Console.WriteLine(ex.Message); return; }
Console.WriteLine("Server Connected! {0} --> {1}",
client.Client.LocalEndPoint, client.Client.RemoteEndPoint);
// 按 Q 退出...
}
}
netstat -a 驗證連線狀態
TCP jimmy:8500 0.0.0.0:0 LISTENING
TCP jimmy:8500 localhost:4761 ESTABLISHED
TCP jimmy:4761 localhost:8500 ESTABLISHED
- Port 8500 仍在 LISTENING,可接受更多連線。
- 用戶端由 .NET 自動分配暫時 Port (如 4761),每次執行不同。
- 一個 Listening Port 可同時對應多個 Established 連線 (Web Server 典型模式)。