我正在尝试创建一个客户端/服务器应用程序(带有 Windows Phone 7 客户端和 Windows PC 服务器),它可以在网络上自动发现彼此,而无需任何干预服务器或预先存在的对等网络。我已经能够使用多播 UDP 为简单的发现模型创建原型客户端/服务器实现。当两台机器都配置为使用相同的 WiFi 网络时,此方案运行良好。但是,在服务器 (PC) 通过以太网连接到域网络的情况下,客户端 (WP7) 和服务器将无法再发送或接收 UDP 多播数据包。两者配置了不同的网关服务器,但奇怪的是,如果使用服务器的显式 IP 地址,它们仍然可以通过 TCP/IP 建立连接。
当客户端/服务器在以这种方式配置的网络上时,它们自动发现彼此的正确方法是什么?是否有自动发现的标准机制?这可能是网络问题还是可以在应用层解决?
任何见解将不胜感激。