全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4446
推到 Plurk!
推到 Facebook!

TCP Server如何應對大量Client連接的問題

缺席
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-01 15:21:46 IP:219.133.xxx.xxx 未訂閱
我現在要做一個Socket服務器程序(TCP協議),
Client與我的Server之間採用長連接方式,
Client與Server都會主動向對方發送數據,數據傳送頻率達到1-2秒。
我現在是使用Synapse庫來開發,用一個線程監聽Client連接請求,每個Client連接創建一個對應的線程。

現在測試結果是,如果有200個左右的Client連接Server時,Server占用的CPU就會達到40%左右!
請教大家有什麽好的解決方案或經驗,能支持大量Client同時連接,且CPU開支可以控制得較低呢?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-09 10:15:43 IP:58.61.xxx.xxx 未訂閱
沒有人了搞過IOCP嗎?

這些天搞這個累死了,釋放客戶端資源老出錯。
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-09 11:18:04 IP:203.79.xxx.xxx 訂閱
請問 Synapse 有支援 Thread 嗎 ?
Synapse 我沒用過, 我是用 Indy (它有支援 Thread)

===================引 用 h@visli 文 章===================
我現在要做一個Socket服務器程序(TCP協議),
Client與我的Server之間採用長連接方式,
Client與Server都會主動向對方發送數據,數據傳送頻率達到1-2秒。
我現在是使用Synapse庫來開發,用一個線程監聽Client連接請求,每個Client連接創建一個對應的線程。

現在測試結果是,如果有200個左右的Client連接Server時,Server占用的CPU就會達到40%左右!
請教大家有什麽好的解決方案或經驗,能支持大量Client同時連接,且CPU開支可以控制得較低呢?
------
將問題盡快結案也是一種禮貌!
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-09 11:34:12 IP:58.61.xxx.xxx 未訂閱
Synapse 可以用 Thread,
我现在也没用 Synapse ,
我是直接用 WinSock2 API 加 Overlapped I/O Completion Port技术,现在搞得一塌糊涂:内存管理存在缺陷、客户端退出时出现异常。
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-09 19:48:17 IP:202.103.xxx.xxx 訂閱
试验一下 Indy 10 看看,据说 Indy 10 是用的 IOCP
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-11-10 08:45:47 IP:58.61.xxx.xxx 未訂閱
我从newsgroup中搜索的消息是Indy 10是有计划加入IOCP技术,但还处于不可用状态。
===================引 用 pcplayer99 文 章===================
试验一下 Indy 10 看看,据说 Indy 10 是用的 IOCP
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
系統時間:2024-04-26 3:08:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!