使用ServerSocket1->Socket->ActiveConnections;問題 |
答題得分者是:aftcast
|
addn
高階會員 發表:64 回覆:221 積分:202 註冊:2005-03-21 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
我的測式情形如同你一樣。所以我個人建議如下做法
int i = ServerSocket1->Socket->ActiveConnections - 1; 自己減1,這樣的演算法應該是正確的。 註: 而照help檔的說明,這個事件後才會free connection,所以在free前夕當然是connection還存在。 ===================引 用 addn 文 章=================== 各位 大大 小弟在寫server<->client傳資料的簡易測試程式 server端用ServerSocket1->Socket->ActiveConnections來判斷有多少個client連上線 這在OnClientConnect事件發生時使用不會有問題 可是用在OnClientDisconnect事件會有問題,發現ActiveConnections好像會在OnClientDisconnect 事件發生後才減一,請問正常的順序是這樣嘛 謝謝
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2009-04-07 15:08:18, 註解 無‧
|
addn
高階會員 發表:64 回覆:221 積分:202 註冊:2005-03-21 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
|
addn
高階會員 發表:64 回覆:221 積分:202 註冊:2005-03-21 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
那個屬性只適用於stThreadBlocking的模式
若你用的是none blocking的模式則不適用,要靠自己依ActiveConnections的資料並於onaccept的情形下去disconnect過多的連線。 ===================引 用 addn 文 章=================== 您好 請參考如下 void __fastcall TForm1::FormActivate(TObject *Sender) { ServerSocket1->Port=4000; ServerSocket1->ThreadCacheSize=10; ServerSocket1->Open(); StatusBar1->SimpleText="Listening..."; Memo1->Clear(); } ServerSocket1->ThreadCacheSize=10; 設定連線數目
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
addn
高階會員 發表:64 回覆:221 積分:202 註冊:2005-03-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |