線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2698
推到 Plurk!
推到 Facebook!

ClientSocket連線的問題!?

答題得分者是:RaynorPao
shing187
一般會員


發表:45
回覆:63
積分:21
註冊:2003-01-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-10 10:34:17 IP:211.78.xxx.xxx 未訂閱
當我使用ClientSocket連線的時候 如果無法與Server連線,Client端會不斷嘗試連線 但是會出現一個問題 不斷嘗試連線一段時間後,會出下以下問題 Windows socket error無法在通訊端執行操作,因為系統緩衝區空間不足,或是佇列已滿.(10055),on API connect 請問有辦法避免此問題嗎??請指教......
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-10 10:42:14 IP:203.73.xxx.xxx 未訂閱
引言: 當我使用ClientSocket連線的時候 如果無法與Server連線,Client端會不斷嘗試連線 但是會出現一個問題 不斷嘗試連線一段時間後,會出下以下問題 Windows socket error無法在通訊端執行操作,因為系統緩衝區空間不足,或是佇列已滿.(10055),on API connect 請問有辦法避免此問題嗎??請指教......
shing187 你好: 是否把你 Client 端「嘗試連線」的那段程式碼貼上來,幫你看看?? --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
shing187
一般會員


發表:45
回覆:63
積分:21
註冊:2003-01-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-10 11:17:11 IP:211.78.xxx.xxx 未訂閱
因為程式很長.... 我取其中一部分的程式碼
 
void __fastcall TFormRemoteViewer::BtnConnectClick(TObject *Sender)
{
    TIniFile *ini = new TIniFile("Set.ini");
    ClientSocket->Address = ini->ReadString("Setting","IPAddress", "192.168.0.10");
    ClientSocket->Port = StrToInt(ini->ReadString("Setting","Port", "80"));
    ClientSocket->Open();
    delete ini;
}    void __fastcall TFormRemoteViewer::ClientSocketError(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
if(!ClientSocket->Socket->Connected)
    {
        ClientSocket->Open();
    }
}
發表人 - shing187 於 2003/07/10 11:20:53
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-10 13:43:08 IP:203.73.xxx.xxx 未訂閱
引言: 因為程式很長.... 我取其中一部分的程式碼
 
void __fastcall TFormRemoteViewer::BtnConnectClick(TObject *Sender)
{
    TIniFile *ini = new TIniFile("Set.ini");
    ClientSocket->Address = ini->ReadString("Setting","IPAddress", "192.168.0.10");
    ClientSocket->Port = StrToInt(ini->ReadString("Setting","Port", "80"));
    ClientSocket->Open();
    delete ini;
}    void __fastcall TFormRemoteViewer::ClientSocketError(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
if(!ClientSocket->Socket->Connected)
    {
        ClientSocket->Open();
    }
}
shing187 你好:
(1)我做了一個小小的實驗,程式碼如下,也不會產生你所說的問題
>Address="192.168.16.152">Port=4000;
      ClientSocket1->Open();
      // 中間做想做的事情
      ClientSocket1->Close();
   }
}
void __fastcall TForm1::ClientSocket1Error(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
   ErrorCode=0;   
}
(2)還有你的 DVRClient 是什麼呢?? 我的建議是不管 Open 是否成功,最後要
   記得 Close
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
newbie
初階會員


發表:81
回覆:45
積分:25
註冊:2002-11-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-21 15:41:33 IP:61.220.xxx.xxx 未訂閱
請問大家,    類似這樣的 Socket Error    10052 10053 .... 列已滿.(10055),on     可以在程式內攔截該 message 然後由我們自己的程式處理哩?    是寫在 ServerSoccektClientError 裡面嗎?    謝謝大家,    < >< >
kilo_amd
一般會員


發表:15
回覆:13
積分:10
註冊:2003-01-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-14 11:18:59 IP:59.104.xxx.xxx 未訂閱
void __fastcall TFormRemoteViewer::ClientSocketError(TObject *Sender,       TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode) {     Socket->Close(); //試試看 }
系統時間:2024-03-29 14:58:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!