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

用socket.sendtext傳送大量string的問題

答題得分者是:Ktop_Robot
takdick
一般會員


發表:50
回覆:63
積分:22
註冊:2002-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-12-04 16:16:50 IP:203.218.xxx.xxx 未訂閱
我的程序使用了clientsocket和serversocket,用socket.sendtext傳送大量的字符串時,不是是否有傳送限制,只能接收到前大部份的字串,改用sendbuf也是一樣的結果. 我試了一下,clientsocket傳送時的length(string)有2251,serversocket接收到的length(string)只有1415,只要小於此數的string就能正常接收,1415是否sendtext能夠傳送的極限? 還有一點,client和server都在同一主機運行時就沒有任何問題,但把server放在另一主機時就會出現上述問題,請問是何緣故?該如何解決呢? 我的接收代碼如下: procedure TForm1.ssClientRead(Sender: TObject; Socket: TCustomWinSocket); var stt,dd:string; buf:pinter; lh:integer; begin lh:=Socket.ReceiveLength; GetMem(buf,lh); Socket.ReceiveBuf(buf^,lh); stt:=StrPas(PChar(buf)); stt:=Copy(stt,1,lh); if stt='' then exit; dd:=copy(stt,1,3); cos:=copy(stt,4,length(stt)-3); case strtoint(dd) of 111: begin //接收string memo1.text:=cos; end; 222: begin //還有其他的功能 ...... ........ 發表人 - takdick 於 2005/12/04 16:22:59
系統時間:2024-05-13 1:14:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!