在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
請問 indy不管是tcp還是udp 傳送訊息只有馬上接訊息的規則嗎? 有� onRead的事件可以使用嗎? 當然,使用過Ping沒有?不是有個TTL嗎?當一個封包超過那個時間就會被Router丟掉,不在一定時間讀取,訊息是會不見的! OnRead是Client當發現有訊息進來的事件,讀取訊息就在那個事件裡面處理。 server: 請問可以知道� 每個client的編號� 藉由編號�� 回傳想要的值 給特定編號的client端嗎? 寫過你就知道! Server端會為每個連進來的Client儲存一個連線資訊,如果沒記錯的話是Socket Handle吧!運用這個Handle來辨識每個Client,動手去做一做可以有更深刻的印象! ------實做如下-------- clinet: thread模擬onread TClientExecute = class(TThread) private FReadStr: String protected procedure ShowOnForm; public procedure execute;override; end; procedure TClientExecute.execute; var str:string; begin FReadStr := Form1.IdTCPClient1.IOHandler.ReadLn; Synchronize(ShowOnForm); end; procedure TClientEXecute.ShowOnForm; begin form1.memo1.lines.add(FReadStr); end; server: 當clients連進來後 onbuttondown事件(將來放server onexecute事件中) for i:=0 to idtcpserver1.Contexts.LockList.Count -1 do TIdContext(idtcpserver1.Contexts.LockList.Items[i]).Connection.IOHandler.writeln('0000'); |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论