关于IdUdp的问题。 IdTcp控件在使用时,他会自动为每一个Client创建一个线程。那么在IdUdp中如何解决多个客户多条信息同时到来的情况?又如何标识是谁来的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 >>那么在IdUdp中如何解决多个客户多条信息同时到来的情况通訊類的東西, 都會有緩衝區的, 處理不了的, 會先放在裹面!!一時沒查help, 每個線程都有個標識的啊!!如index, 裹面還會有對應的聯接方的信息!! 我在接收到客户的信息后,还要去做一定的处理,我想问使用idudp会不会出现由于去处理上一个信息而丢失某个以后发来的信息的情况 每个线程会有他响应的ThreadID,你可以同过TSocketServer 的ThredStart取到For example:procedure TServer.ServerSocketThreadStart(Sender:TObject; Thread:TServerClientThread)begin showmessage(inttostr(Thread.ThreadID)); showmessage(inttostr(Thread.ServerSocket.ActiveThread)); showmessage(inttostr(Thread.ServerSocket.IdleThreads));end;所以你就可以得到信息是来自那个线程。如果多个客户多条信息同时到来的话,服务器端就会为这些信息放进消息的队列中,逐条来处理。所以如果服务器足够快,并且信息不是很大的话,可以看作是"同时" Wally_wu(沃利) 我是说在IdUdp控件中如何知道是谁来了我在它的OnRead事件中需不需要对同时到来的信息作程序上的缓存处理 OnRead事件已经封装了GetBinding方法,所以可以取到ABinding的值,然后取得数据是来直哪个IPFor Example:procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);var vIP: String;begin v1P := ABinding.Ip; end; 同时多DLL窗体显示. 高分请教 请问TPageControl控件使用问题 怎么获得该控件的句柄? 请教一个关于DBGrid的问题 access中这个sql该怎么写?急急急!!! 请推荐一个实现ftp上传下载与显示服务器FTP目录树的第三方控件 送分了!! 如何中断事件? 如何通过网络传送一个string类的数组 delphi中的控件是如何传递数据的. 请问哪里能下载到dxdbgrid控件?
通訊類的東西, 都會有緩衝區的, 處理不了的, 會先放在裹面!!
一時沒查help, 每個線程都有個標識的啊!!如index, 裹面還會有對應的聯接方的信息!!
begin
showmessage(inttostr(Thread.ThreadID));
showmessage(inttostr(Thread.ServerSocket.ActiveThread));
showmessage(inttostr(Thread.ServerSocket.IdleThreads));
end;所以你就可以得到信息是来自那个线程。如果多个客户多条信息同时到来的话,服务器端就会为这些信息放进消息的队列中,逐条来处理。所以如果服务器足够快,并且信息不是很大的话,可以看作是"同时"
我是说在IdUdp控件中如何知道是谁来了
我在它的OnRead事件中需不需要对同时到来的信息作程序上的缓存处理
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
vIP: String;
begin
v1P := ABinding.Ip;
end;