点对点通信选项

Joh*_*ith 23 android json p2p communication

任何人都可以确认Android框架内目前允许的点对点通信方法是什么?我需要传输json字符串,我现在正在使用短信工作正常,但问题是数据也最终成为大量的短信.我已经阅读了Reto Meier的第一版专业Android应用程序开发,他说由于安全问题,数据传输选项没有实现.

这有没有改变,你将如何进行数据的点对点传输?

Oll*_*e C 20

您是否看过Qualcomm的AllJoyn图书馆?它可以通过蓝牙或wifi工作,因此可能适用,但如果您通过3G或更广泛的网络连接它将无法工作.

鉴于不在同一网络上的两个远程设备之间的网络的变化和可靠性,我会质疑点对点是否是最佳解决方案,并且冒险建议考虑在两者之间使用应用服务器,因此您可以使用云到设备消息传递 [已弃用](可能与Google App Engine一起使用).即发送消息,发送方将其传递给服务器,然后服务器将其传递给接收方.

从理论上讲,网络上的所有设备都具有唯一的IP地址,并且可以相互通信,但由于路由器/防火墙的配置不同,所以很少这么简单,因此您需要非常注意所使用的端口,特别是考虑到许多入站出于安全原因,默认情况下会阻止端口.


ldx*_*ldx 6

您可以简单地使用 UDP/TCP 套接字。在一个单独的线程中,您设置了服务器端侦听器套接字,仅此而已。当然,您的应用程序必须首先启动(或者应该一直在后台运行)。下面是一个例子:

http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/

如果您还需要对等发现,那将使事情变得更加困难。

  • 如果其中一台 Android 设备位于防火墙/内联网后面怎么办?这个解决方案似乎失败了 (2认同)