需求
- TCP 協議,端口 8888。
- 消息格式:4 字節長度頭 + 消息體。
- 支持 100 客戶端並發,廣播分發。
- 客戶端輸入 exit 斷開,服務端響應主動斷開。
源碼獲取
完整源碼下載鏈接 (CSDN)
核心架構提示
- I/O 多路復用:Linux
epoll / Windows IOCP / 跨平台 select/poll (100 連接 select 足夠)。
- 消息幀解析:緩衝區累積 → 讀取 4 字節長度 → 讀取指定長度消息體 → 處理/廣播。
- 線程模型:主線程 accept + 分發,工作線程池處理業務/廣播,或單線程事件循環。
- 優雅關閉:捕獲 SIGINT/CTRL_C,關閉監聽套接字,遍歷客戶端列表發送下線通知並 close。
**直接下載參考源碼,結合上述架構閱讀理解,比從零寫入門快得多。**