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

ServerSocket 傳檔案的問題

缺席
wildbarj
一般會員


發表:4
回覆:1
積分:1
註冊:2005-04-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-31 13:05:30 IP:59.104.xxx.xxx 未訂閱
回應此文章並加上原文引言
附加檔案:ask.rar 498474Bytes 5/31/2005 10:14:00 AM 因為特殊需要 server 端為bcb, client端為VC++ 內有三個程式 \FileTransferClientView \FileTransferServer \bcb_server FileTransferClientView,FileTransferServer 這兩個都是vc++ ,可以互相傳檔 bcb_server是由FileTransferServer 改到bcb 而bcb_serverFileTransferClientView互相傳檔會發生問題 如果檔案傳輸稍微大一點(約2Mb以上),下面這邊code (bcb_server)會只傳到一半就出現SOCKET_ERROR 的問題 如果在doneSoFar = ServerSocket1->Socket->Connections[0]->SendBuf(sendData , sendThisTime ); 前面或後面加一個 Sleep(50) , 反而問題就不見了 或是用step by step 來trace也不會出現問題 猜測是不是queue滿了塞住的關係 或是有其他問題.... 不知道如何解決 ps. 這個問題還是有時候出現 有時候消失...頭痛的很
                        doneSoFar = ServerSocket1->Socket->Connections[0]->SendBuf(sendData , sendThisTime );                            // test for errors and get out if they occurred
                          if ( doneSoFar == SOCKET_ERROR )
                        {
                                   int iErr = ::GetLastError();
                                StatusBar1->SimpleText=("SendData error at: "+AnsiString(sourceFile->Size-cbLeftToSend)+" bytes ,GetLastErr= "+ AnsiString(iErr));
                                           goto PreReturnCleanup;
                        }
GetLassErr= 10355 ? 請問這個有相關訊息可以查嗎 28672 bytes 是SendBuf() 跑了七次就出現SocketErr
wildbarj
一般會員


發表:4
回覆:1
積分:1
註冊:2005-04-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-31 19:39:37 IP:140.126.xxx.xxx 未訂閱
在SOCKET_ERROR 發生時.. 重送好像可以解決... 只是...感覺怪怪的
系統時間:2024-04-20 11:45:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!