移动应用程序和电脑浏览器之间的点对点通信

问题描述 投票:0回答:5

我正在开发一个项目,我需要我的移动应用程序与电脑上的网络浏览器通信,两个设备都通过 WiFi 连接。该应用程序将发送数据,计算机浏览器将接收这些数据,然后执行一些客户端代码。然后浏览器可能会发送一些反馈。

我最初的方法是让应用程序与端点对话,该端点又与浏览器的客户端对话(

javascript
)。

执行此操作的最佳方法是什么?

更新

我不确定

Socket.io
是否是一个可能的解决方案,因为它需要托管服务器。可以使用套接字解决这个问题吗?

javascript android ios network-programming browser
5个回答
3
投票

您现在已经编辑了您的问题提及 P2P。要实现“电话到浏览器”是相当困难的(即,我所说的“困难”是指 6 到 12 个人月的工作 - 和/或根本不可能)。然而,在大多数情况下,您可以通过使用 pubnub 等服务立即(即“每个平台上一行代码”)解决问题。就像没有人再拥有后端一样,一切都只是通过 parse.com 或游戏中心完成,像你提到的网络现在只是通过 pubunb (或任何竞争对手)完成。

这是一个极其常见的用例问题 - 每个人都只使用下面提到的 PubNub 或其竞争对手之一。


现在再简单不过了,只需使用 pubnub.com

它是世界上最大的数据消息服务是有原因的!

基本上没有其他现实的方法,它是如此简单 - 几行代码。

enter image description here


3
投票

简短的回答是:目前所有浏览器都无法实现真正的点对点 (P2P) 通信。因此,您有以下选择:

  1. 带有 WebUI 的应用程序 + 服务器(也许)
  2. App + Chrome 应用程序(Chrome 应用程序可以启动 Web 服务器,请参阅 http://www.devworx.in/news/misc/chrome-apps-can-now-run-a-web-server-135711.html )
  3. 应用程序 + 带插件的 Web 应用程序(Flash、Silverlight 或 Java)

我个人更喜欢解决方案1。


2
投票

您需要一台服务器。如果您严格从典型防火墙的角度考虑此问题,则 PC 或移动设备将忽略连接,除非它们自己发起连接。因此,PC 和移动设备都无法与对方建立连接。

我的理解是网络浏览器不支持 javascript 中的标准套接字。您可以使用类似的 websocket,但套接字和 websocket 不直接兼容。

您可以在PC上设置一个简单的服务器,并让该服务器在移动设备和PC浏览器之间中继消息。移动设备和PC浏览器都连接到服务器。这基本上就是外部服务将为您做的事情。


1
投票

PeerJS 就是您正在寻找的:

http://peerjs.com


0
投票

我们创建一个网站和 Android 应用程序,我们想要在它们之间进行点对点网络配置,我们该如何进行?

© www.soinside.com 2019 - 2024. All rights reserved.