實現類似 QQ 的局域網聊天功能,基於 C# WinForms,使用 Socket 進行通信。
// 服務端接收循環
void ReceiveClient(object clientSocket) {
Socket socket = (Socket)clientSocket;
byte[] buffer = new byte[1024];
while (true) {
int len = socket.Receive(buffer);
if (len == 0) break;
string msg = Encoding.UTF8.GetString(buffer, 0, len);
Broadcast(msg, socket); // 廣播給其他客戶端
}
}
// 客戶端發送
void SendMessage(string text) {
byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new { type="msg", content=text }));
_socket.Send(data);
}
建議在掌握基礎後引入心跳檢測、重連機制、消息確認等增強穩定性。