TIdTCPClient如何得知 Server有傳訊息給它?? |
缺席
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
TIdTCPClient如何得知 Server有傳訊息給它?? 使用TIdTCPClient及TIdTCPServer來傳送資料
TIdTCPClient如何得知 Server有傳資料給 Client 看了Chat 的範例是用一個 Timer物必件來檢測如下 procedure TForm1.Timer1Timer(Sender: TObject);
var
Com,
Msg : String;
begin
if not IdTcpClient1.Connected then
exit;
// IdTCPClient1.
Msg := IdTCPClient1.ReadLn('', 3); { Not a system command }
listbox1.Items.Add(Msg); end; 但是在執IdTCPClient1.ReadLn('', 5) 時如 Server 尚未傳資料時
程式會停在那一行,直到 Server傳資料程式才會繼續執行 請問IdTCPClient1要如何才能得知Server有傳資料.....? 非常非常的謝謝你,因為有你這世界變的更美好 ☆ ^_^ ☆
°∴°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°﹒
﹒‧°∴°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°﹒﹒‧°∴°﹒☆°.
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
beball
一般會員 發表:7 回覆:4 積分:2 註冊:2004-01-02 發送簡訊給我 |
|
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
結案啦?那只好給大家自己去參考我的解決方案啦!這是IDTcpConnection的bug,解決方法如下~~~~
procedure timer.ontimer................. var temp:string; begin idtcpclient.readfromstack(false,1,false); while idtcpclient.InputBuffer.Size>0 do begin temp:=idtcpclient.ReadLn; end; end;藏私の禁止 發表人 - japhenchen 於 2004/04/23 18:08:29 |
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: 結案啦?那只好給大家自己去參考我的解決方案啦!這是IDTcpConnection的bug,解決方法如下~~~~謝謝 japhenchen 前輩,我再試試看!!procedure timer.ontimer................. var temp:string; begin idtcpclient.readfromstack(false,1,false); while idtcpclient.InputBuffer.Size>0 do begin temp:=idtcpclient.ReadLn; end; end;藏私?禁止 發表人 - japhenchen 於 2004/04/23 18:08:29 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |