移动应用和PC浏览器之间的对等通信

时间:2014-09-30 08:45:37

标签: javascript android ios network-programming browser

我正在开展一个项目,我需要我的移动应用程序在PC上与我的网络浏览器交谈,其中两个设备都通过wifi连接。应用程序将发送将由计算机浏览器接收的数据,然后执行一些客户端代码。然后浏览器可以发送一些反馈。

我最初的方法是让应用与端点通话,而端点又与浏览器的客户端(javascript)对话。

这可能是最好的方法吗?

更新

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

4 个答案:

答案 0 :(得分:4)

您现在已编辑了提及P2P 的问题。这很难实现PHONE TO BROWSER(即,我的意思是6到12个人月的工作 - 和/或普通的不可能)。但是在大多数情况下,您可以立即(即“每个平台上的一行代码”)通过使用像pubnub这样的服务来解决问题。就像没有人拥有后端,所有事情都只是通过parse.com或游戏中心来完成,像你提到的网络现在只需要使用pubunb(或任何竞争对手)。

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


现在这可能不容易,只需使用pubnub.com

这是世界上最大的数据信息服务有一个原因!

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

enter image description here

答案 1 :(得分:3)

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

  1. 带有WebUI的App +服务器(可能)
  2. App + Chrome应用(Chrome应用可以启动网络服务器,请参阅http://www.devworx.in/news/misc/chrome-apps-can-now-run-a-web-server-135711.html
  3. App + WebApp with Plugin(Flash,Silverlight或Java)
  4. 我个人更喜欢解决方案1.

答案 2 :(得分:2)

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

我的理解是网页浏览器不支持javascript中的标准套接字。您可以使用analagous websocket,但插座和websockets不能直接兼容。

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

答案 3 :(得分:1)

PeerJS是您正在寻找的:

http://peerjs.com