注意哦,我說的不是服務器里面的客戶端套接字哦
而是一個client.exe里面開啟多個客戶端鏈接不同的服務IP
但是有一個問題,如果我打開一個客戶端就要開啟一條執行緒進行收包的話,那么我連接200個服務器的話就要開啟200條執行緒,這開銷太大了。
所以有沒有辦法,創建一條執行緒或者幾條執行緒同時管理這些鏈接服務器的客戶端套接字收包或者其他功能?
uj5u.com熱心網友回復:
想想這個問題:連接一個服務器就要 new pclient 出來,如果鏈接200個不同的服務器,就要 200次 new pclient ,之后就有200條執行緒等待服務器那邊發包之后收包,這個開銷太大了。如果開啟一潭訓者多條執行緒,執行緒里面有個阻塞函式,哪個客戶端有訊息就回應哪個處理收包等等,這個就像服務器管理一樣,但是不曉得這怎么弄。
uj5u.com熱心網友回復:
肯定沒有這么多執行緒的,都是一個執行緒不斷地重復利用的uj5u.com熱心網友回復:
服務端還是連接來自不同的客戶端(不同ip)的呢,有什么區別么?直接select,poll或者epoll一下不久行了么
uj5u.com熱心網友回復:
win下,select,WSASynSelect,事件和iocp最簡單的就是select. 可讀。
if(CanRead(s)){
recv();
}
uj5u.com熱心網友回復:
參考一下
https://www.cnblogs.com/renyuan/p/5100296.html
uj5u.com熱心網友回復:
使用完成埠.轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/10483.html
標籤:網絡編程
