移动设备之间的实时 P2P 通信

Posted

技术标签:

【中文标题】移动设备之间的实时 P2P 通信【英文标题】:Realtime P2P communication between mobile devices 【发布时间】:2012-08-21 17:12:57 【问题描述】:

我正在构建一个需要向其他设备发送实时信息的移动设备。我考虑过 XMPP 但我没有服务器,所以只能在设备之间进行通信。

有没有办法在没有服务器的移动设备之间使用 XMPP 进行通信(或将移动设备用作服务器)?

套接字是个好主意吗?即拥有一个服务器套接字和客户端套接字并以这种方式进行通信。

有没有更聪明的方法?我听说过 jWebSocket,但我真的不知道它是如何工作的,也不知道它是否值得。

编辑

流程如下:

    我使用 Parse 作为服务器/后端 http://parse.com 当用户运行应用程序时,会从解析服务器检索用户列表 然后用户拥有(可能拥有)其他客户端的 ip,然后尝试与它们通信。

问题 1. Parse 不支持 XMPP 服务器或其他类型的服务器

【问题讨论】:

一般来说,套接字是答案......但不是全部答案。整个故事比较长。对于对等发现,您可能无论如何都需要一台服务器。 P2P 发现 a-la Zeroconf 仅适用于 WiFi。 好的,所以不需要对等发现。实际上有一个非常简单的服务器,它可以登录用户并向他提供对等方的地址、ID 等,但我的意思是我无法托管 XMPP 服务器。 申请the rubber duck principle:向鸭子解释不在同一个WiFi网络上的移动设备如何相互发现。 好吧,也许我还不清楚:我会编辑我的问题,让你变得更清楚。 【参考方案1】:

您可能会考虑使用像 http://jerklib.wikia.com/wiki/JerkLib_Wiki 这样的 IRC 客户端库。这样您就可以使用公共 IRC 服务器与您的其他设备进行通信......

我没有使用它,但我确实将其添加为书签以供进一步阅读,因为我认为它是一个新颖的概念......

希望对你有帮助……

【讨论】:

以上是关于移动设备之间的实时 P2P 通信的主要内容,如果未能解决你的问题,请参考以下文章

即时通讯开发之基于位置服务的APP数据通信

设备和谷歌云消息传递之间的实时通信

阿里面试官:请问蓝牙设备如何测试?灵魂拷问!我人傻了!

跨不同计算机的实时js

Android 应用程序,打开与移动设备的连接

android -------- 蓝牙Bluetooth