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

WinSock在BUFFERSIZE能多大(附代码)

缺席
aKnightChen@Hotmail.com
一般會員


發表:62
回覆:57
積分:23
註冊:2003-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-23 09:51:26 IP:219.136.xxx.xxx 未訂閱
SOCKET_BUFFER_SIZE=1024,在局域网内大于1024没问题,但在INTERNET上则会出错.是不是用UDP能大一点. 我的TCP测试速度(宽带只有1K/S) 哪位大哥指点一下,是BUFFERSIZE问题? ============ procedure pDownLoadData(Socket: TCustomWinSocket); var tmpBuf:array [0..SOCKET_BUFFER_SIZE-1] of Char; //SOCKET_BUFFER_SIZE=1024,在局域网内大于1024没问题,但在INTERNET上则会出错. iReceiveLength:Integer; sTmpInfo:string; begin with FrmDataExchangewithMainShop do begin with Socket do begin Application.ProcessMessages; iReceiveLength:=ReceiveLength; ReceiveBuf(tmpBuf,iReceiveLength); aFileStream.Write(tmpBuf,iReceiveLength); iReceiveFileSize:=iReceiveFileSize iReceiveLength; if iReceiveFileSize>=iTotalReceiveFileSize then begin //表示全部完成.. sTmpInfo:='xxxx!'; pAddMsg(sTmpInfo); SendText(CMD_CLIENT_FINISH_RECEIVE_FILE sTmpInfo); FreeAndNil(aFileStream); vStreamStatus:=False; //完成文件传送 FreeAndNil(tmpConn); if not pUNZipFile(sTmpAccFile,sGetTmpDir) then begin pAddMsg('接收的文件解压缩失败! 接收文件:' sTmpAccFile); pSetEnabled2(True); Exit; end; DeleteFile(sTmpAccFile); kSleep(1000); //开始处理数据 iType:=0; sSrcTmpAccDBFile:=sGetTmpDir SERVER_TMP_MDB_FILE_NAME; if fLoadSubShopDataFromAFileOnSub then FrmMain.dxBarButton92Click(nil); //刷新一次性信息. if Connected then pSetEnabled2(True); end else begin SendText(CMD_CLIENT_ALLOW_SERVER_NEXT_DOWNLOAD); end; end; end; end;
系統時間:2024-05-18 13:26:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!