使用WebSockets在本地网络中进行服务发现

6
我有一个Web应用程序在前端Web上运行,通过tcp WebSocket协议连接到同一局域网中的Android设备,通过WiFi连接。
目前,Android设备设置了WebSocket服务器(因为大多数Web浏览器不支持WebSocket服务器创建,所以设备充当服务器),我手动插入设备IP到Web应用程序并按下“连接”按钮以开始通信。
我想通过使Web应用程序搜索其本地区域网络中的WebSocket服务器来自动执行此连接。如何做到这一点?尝试迭代连接所有可能的IP地址是否会奏效?还有其他有效的方法吗?
谢谢。
1个回答

2
如果子网较小,则迭代方法可行,大多数家用路由器都有小型子网...然而,在更复杂的网络中,迭代方法将不可行,您需要使用诸如mdns或ssdp的服务发现协议。 然而,这些协议可能不适用于 Web 浏览器,您最好的替代方法是在互联网上运行一个服务器,设备可以在该服务器上汇合并交换本地 IP 信息...然而,如果网络足够复杂,即使具有相同外部 IP 的设备也可能无法在各自的子网之间通信。

正确。最终我采用了迭代方法,因为子网很小。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接