首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Socket 程式設計筆記(三):TCP 用戶端實作

     編輯:關於C語言

展示 TCP 用戶端連線、收發訊息的基本流程。用戶端無需綁定本地端點,直接指定伺服器 IP 與連接埠建立連線。

TCP Client 程式碼

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,需自行處理訊息邊界與編碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved