【问题标题】:Find IP adresses and ports of devices connected to the same network查找连接到同一网络的设备的 IP 地址和端口
【发布时间】:2015-07-03 09:27:24
【问题描述】:

我正在 angular/cordova 中为 iOS 和 Android 构建一个应用程序,我想在我的本地网络上(动态)找到某个设备的 IP 和端口,以便能够发送发布请求并通过它与之交谈它的 API。

API 说我可以使用SSDPDNS-SD 来发现设备。我查找了这两个帮助程序,它们可以帮助我获取网络上所有已连接设备的列表:

但就我而言,node 是一个服务器端框架,我不能只“要求”我的应用程序中的 node 模块。去这里最合乎逻辑的方式是什么?我只是想获取我网络上所有已连接设备的列表,这很难实现吗?

【问题讨论】:

  • “但就我而言,这是服务器端代码”:上述两个项目都提供客户端代码作为其网页上的第一个示例.有什么问题?
  • 是的,但是节点是服务器端技术,对吧?我不能直接将它包含在我的应用程序中。
  • 注意:服务器端程序可以是另一个程序的“客户端”!
  • @novalain 你没有解释你的代码将在哪里运行所以我不知道你可以使用什么技术......我想你的意思是你正在构建一个应该在普通浏览器?在这一点上做你想做的事情可能是不可能的:你的应用程序必须能够发送多播 udp 消息,我怀疑 javascript 是否允许在浏览器中这样做。 W3C 和浏览器开发人员正在致力于本地发现(例如 Firefox 自己执行 SSDP),但 Web 开发人员可能还无法使用这些功能。
  • 好吧,事情有点清楚了。我正在科尔多瓦中构建应用程序,所以从技术上讲,它应该在普通浏览器中运行(在 android 和 ios 上)。我找到了一些插件:plugins.cordova.io/#/search?search=network,你认为这些插件可以帮助我实现我想要实现的目标吗?

标签: cordova network-programming udp ssdp dns-sd


【解决方案1】:

试试这个科尔多瓦插件https://github.com/hsccorp/cordova-plugin-discovery 它让您发现本地网络上的任何 SSDP / UPnP / DLNA 服务 hsccorp fork 添加了 ios 支持

【讨论】:

    【解决方案2】:

    您可以使用 Cordvoa ZeroConf 插件:

    https://github.com/becvert/cordova-plugin-zeroconf

    这会检测到 DNS-SD,而 Cordova 插件发现(在我的测试中)没有发现 DNS-SD

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 2020-01-14
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 2014-05-25
      相关资源
      最近更新 更多