展示 TCP 用戶端連線、收發訊息的基本流程。用戶端無需綁定本地端點,直接指定伺服器 IP 與連接埠建立連線。
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Console.Write("Server IP: "); string ip = Console.ReadLine();
Console.Write("Port: "); int port = Convert.ToInt32(Console.ReadLine());
try {
client.Connect(new IPEndPoint(IPAddress.Parse(ip), port));
} catch (SocketException ex) {
Console.WriteLine("連線失敗: " + ex.Message); return;
}
byte[] data = new byte[1024];
int recv = client.Receive(data);
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
while (true) {
string input = Console.ReadLine();
if (input == "exit") break;
client.Send(Encoding.ASCII.GetBytes(input));
data = new byte[1024];
recv = client.Receive(data);
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
}
client.Shutdown(SocketShutdown.Both);
client.Close();
關鍵點:Connect 會阻塞直到連線成功或拋出例外;收發使用 Send/Receive,需自行處理訊息邊界與編碼。