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

C# Socket 開發快速入門(四):TcpClient/TcpListener 與廣播式聊天室設計

     編輯:關於C語言

高階 Socket API 比較

NetworkStream 提供串流介面,簡化同步收發。UdpClient 則直接 Send/Receive,無串流、無連線導向,不需 Listen。

廣播式 C/S 聊天室設計要點

客戶端 UI 與執行緒

  • ListBox 顯示訊息、TextBox 輸入、Button 發送/連線
  • 連線時輸入 Server IP、Port、暱稱
  • 接收執行緒:while(true) 循環 Read,收到訊息跨執行緒更新 UI → 必須用 Invoke/委派

伺服器端設計

  • 維護連線客戶端清單(IP+Port)
  • 廣播:遍歷清單對每個 NetworkStream Write
  • 斷線偵測:約定 Close 開頭訊息為離線信號(實際發送時加上 IP+暱稱前綴,避免聊天內容誤觸發)

編碼陷阱

發送端 Encoding.UTF8.GetBytes,接收端 Encoding.GetEncoding("GB2312").GetString —— 必須雙端一致,否則中文亂碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
角色類別/方法關鍵流程
ClientTcpClientnew TcpClient(ip, port) → GetStream() → NetworkStream Read/Write
ServerTcpListenernew TcpListener(port) → Start() → AcceptTcpClient() → GetStream()