我正在开发一个项目,我需要我的移动应用程序与电脑上的网络浏览器通信,两个设备都通过 WiFi 连接。该应用程序将发送数据,计算机浏览器将接收这些数据,然后执行一些客户端代码。然后浏览器可能会发送一些反馈。
我最初的方法是让应用程序与端点对话,该端点又与浏览器的客户端对话(
javascript
)。
执行此操作的最佳方法是什么?
更新
我不确定
Socket.io
是否是一个可能的解决方案,因为它需要托管服务器。可以使用套接字解决这个问题吗?
您现在已经编辑了您的问题提及 P2P。要实现“电话到浏览器”是相当困难的(即,我所说的“困难”是指 6 到 12 个人月的工作 - 和/或根本不可能)。然而,在大多数情况下,您可以通过使用 pubnub 等服务立即(即“每个平台上一行代码”)解决问题。就像没有人再拥有后端一样,一切都只是通过 parse.com 或游戏中心完成,像你提到的网络现在只是通过 pubunb (或任何竞争对手)完成。
这是一个极其常见的用例问题 - 每个人都只使用下面提到的 PubNub 或其竞争对手之一。
现在再简单不过了,只需使用 pubnub.com
它是世界上最大的数据消息服务是有原因的!
基本上没有其他现实的方法,它是如此简单 - 几行代码。
简短的回答是:目前所有浏览器都无法实现真正的点对点 (P2P) 通信。因此,您有以下选择:
我个人更喜欢解决方案1。
您需要一台服务器。如果您严格从典型防火墙的角度考虑此问题,则 PC 或移动设备将忽略连接,除非它们自己发起连接。因此,PC 和移动设备都无法与对方建立连接。
我的理解是网络浏览器不支持 javascript 中的标准套接字。您可以使用类似的 websocket,但套接字和 websocket 不直接兼容。
您可以在PC上设置一个简单的服务器,并让该服务器在移动设备和PC浏览器之间中继消息。移动设备和PC浏览器都连接到服务器。这基本上就是外部服务将为您做的事情。
PeerJS 就是您正在寻找的:
我们创建一个网站和 Android 应用程序,我们想要在它们之间进行点对点网络配置,我们该如何进行?