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

时间:2015-07-29 09:42:15

标签: android web-applications websocket service-discovery

我有一个在前端网络中运行的Web应用程序,它通过tcp WebSocket协议通过WiFi连接到同一本地网络中的Android设备。

现在,Android设备设置了一个WebSocket服务器(因为大多数Web浏览器不支持WebSocket服务器创建它作为服务器的设备)我手动在Web应用程序上插入设备IP并按下&#34 ;连接"按钮开始通信。

我想通过使Web应用程序在其局域网中搜索websocket服务器来自动执行此连接。如何才能做到这一点?通过尝试连接到所有可能的IP迭代工作,蛮力方法会不会有效?还有其他一些有效的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果子网很小,大多数家用路由器都有小子网,迭代方法就可以工作......但是在更复杂的网络上,迭代方法是不可行的,你需要使用像mdns这样的服务发现协议或ssdp。然而,这些可能不适用于网络浏览器,作为替代方案,最好的选择是坐在互联网上的服务器,设备可以在这里交会并交换本地IP信息......但是,如果网络足够复杂,甚至设备使用相同的外部IP可能无法在各自的子网之间进行通信。