// Client
Client is running ...
Server Connected! 127.0.0.1:12662 --> 127.0.0.1:8500
Menu: S - Send, X - Exit
Input the message: Hello, I'm jimmy zhang.
Sent: Hello, I'm jimmy zhang.
Received: HELLO, I'M JIMMY ZHANG.
// Server
Server is running ...
Start Listening ...
Client Connected! 127.0.0.1:8500 <-- 127.0.0.1:12662
Reading data, 46 bytes ...
Received: Hello, I'm jimmy zhang.
Sent: HELLO, I'M JIMMY ZHANG.
伺服器將收到字串轉大寫回傳,客戶端顯示回應。
Mode: ASCII, String: b, Buffer.Length: 1
Mode: ASCII, String: abcd, Buffer.Length: 4
Mode: ASCII, String: 乙, Buffer.Length: 1 (資料遺失,ASCII 不支援中文)
Mode: ASCII, String: 甲乙丙丁, Buffer.Length: 4 (資料遺失)
Mode: UTF8, String: b, Buffer.Length: 1
Mode: UTF8, String: abcd, Buffer.Length: 4
Mode: UTF8, String: 乙, Buffer.Length: 3
Mode: UTF8, String: 甲乙丙丁, Buffer.Length: 12
Mode: Unicode, String: b, Buffer.Length: 2
Mode: Unicode, String: abcd, Buffer.Length: 8
Mode: Unicode, String: 乙, Buffer.Length: 2
Mode: Unicode, String: 甲乙丙丁, Buffer.Length: 8
結論:網路傳輸建議統一使用 Encoding.Unicode (UTF-16LE) 或 Encoding.UTF8,避免中文亂碼;雙端編碼必須一致。
同步範例僅供入門,實務上單一伺服器無法處理多用戶端並發,需引入多執行緒或非同步模型 (下階段主題)。