在Delphi 2010中使用Indy的TIdUDPClient
,我将FIdUDPBuffer
的内容发送到远程主机(IP,端口):
FIdUDPclient.sendbuffer( IP, port, FIdUDPBuffer );
Frecl := FIdUDPclient.ReceiveBuffer( FIdRecBuff, FreceiveTimeout );
问题是FIdUDPclient
正在等待整个FreceiveTimeout
(设置为5000ms),即使已经从远程主机(通过Wireshark检查)立即收到了答复,因此它阻塞了处理5秒钟。为什么会这样?