天天看點

網絡通訊服務端設計思想

方法一:

1.accept()放在主線程,然後可以accpet後,每個客戶開一個線程處理(最簡單的模型了)

2.accept()後的socket就是客戶的辨別,都是唯一的,這些socket句柄你自然要用連結清單或容器儲存好,之後用時再搜尋就知道哪個是哪個了.

方法二:

通常情況下,

伺服器端會建立一個連接配接池,

這裡面,有很多的伺服器線程,

每一個用戶端的連接配接或者資料到達以後,

排程線程,就會從這個池裡面找一個空閑或者,最久不用的線程,

配置設定給新來的連接配接.

這樣是比較理想的設計思想.

另外,伺服器隻需要知道對于發過來的消息如何處理

就可以,

至于要回給誰,

可以用自己寫的一個中間層來記錄和實作.