Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 利用WebSockets在本地网络中发现服务_Android_Web Applications_Websocket_Service Discovery - Fatal编程技术网

Android 利用WebSockets在本地网络中发现服务

Android 利用WebSockets在本地网络中发现服务,android,web-applications,websocket,service-discovery,Android,Web Applications,Websocket,Service Discovery,我有一个运行在前端web中的web应用程序,它通过tcp WebSocket协议通过WiFi连接到同一本地网络中的Android设备 现在,Android设备设置了一个WebSocket服务器(因为大多数web浏览器不支持WebSocket服务器创建,它是充当服务器的设备),我在web应用程序上手动插入设备IP,然后按下“连接”按钮开始通信 我希望通过使web应用程序在其局域网中搜索websocket服务器来自动执行此连接。如何做到这一点?通过尝试以迭代方式连接到所有可能IP的暴力方法是否有效?

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

现在,Android设备设置了一个WebSocket服务器(因为大多数web浏览器不支持WebSocket服务器创建,它是充当服务器的设备),我在web应用程序上手动插入设备IP,然后按下“连接”按钮开始通信

我希望通过使web应用程序在其局域网中搜索websocket服务器来自动执行此连接。如何做到这一点?通过尝试以迭代方式连接到所有可能IP的暴力方法是否有效?还有其他有效的方法吗


谢谢。

如果子网很小,则迭代方法会起作用,大多数家庭路由器都有小的子网。。。然而,在更复杂的网络上,迭代方法是不可行的,您需要使用服务发现协议,如mdns或ssdp。但是,这些可能不适用于web浏览器,作为替代方案,您最好的选择是安装在internet上的服务器,在那里设备可以会合并交换本地IP信息。。。但是,如果网络足够复杂,即使具有相同外部IP的设备也可能无法在各自的子网之间通信。

正确。最后,由于子网很小,我使用了一种迭代方法。