【发布时间】:2013-08-20 19:08:28
【问题描述】:
关于这个问题还有很多其他的答案,但我相信这是具体的。
我正在使用 Delphi XE2 和 Indy 10.5.8 和 TIdUDPServer
在我的本地开发网络中,我将所有内容都放在同一个网络 ip 子范围内,并且都连接到同一个接入点 (LinkSys)
我有 Android 将 UDP 广播发送到 255.255.255.255 以请求在 Delphi 中编写的服务器 IP 地址,使用端口 44444 上的 TIdUDPServer 进行侦听。
请求顺利到达那里,我可以毫无问题地回复。完全按预期工作。
但是我注意到在某些网络中它不起作用!它总是基于接入点的简单网络,我不确定,但似乎问题发生在哪里,服务器 PC 在设备使用 wifi 时连接到 LAN 端口,都在同一个接入点中。
可能是接入点不通过 LAN 和 wifi 广播 UDP 数据包的情况吗?我知道这种广播是非常有限的,但是我没有找到任何信息告诉我在同一个接入点有这样的限制。
是否有测试方法或解决方法?
此解决方案需要足够强大,以应对众多接入点。
编辑:对于那些想要获取源代码以从网络中检索更多信息的人,包括下面答案中提到的广播 ip,请遵循这个解决方案,它就在那里。
【问题讨论】:
标签: delphi udp delphi-xe2 indy10