我在这种情况下使用TIdUDPServer
:
使用动态端口的主机192.168.1.10:IdUDPServer1.Active := True
(例如:60112
)
主机192.168.1.20:IdUDPServer2.Active := True
使用动态端口(例如:50332
)
当我调用IdUDPServer1.Send('192.168.1.20', 50332, 'Hello')
时,主持人
192.168.1.20
没有收到任何UDP消息。
然后我调用IdUDPServer2.Send('192.168.1.10', 60112, 'Hello')
,主机192.168.1.10
收到UDP消息。两台主机都能够相互接收UDP消息。
同样,如果我首先从IdUDPServer2发送消息,IdUDPServer1将不会收到任何UDP消息。
这个奇怪的问题总是发生在首先发送消息的UDP服务器上。
如果IdUDPServer1
和IdUDPServer2
都在同一主机中启动(例如:localhost或同一台PC),则不会发生此问题。
我没有为TIdUDPServer
实例分配任何端口号,让库为我分配动态端口。因此,Windows 10没有提示任何防火墙警告。