我正在Android上创建一个移动应用程序,要求设备在很远的距离上相互通信。当手机通过WiFi连接到互联网时,我有一个IP地址的便利。但如果它通过3G连接我只有电话号码,我可以通过短信进行通信,但我想使用更好的东西,如3G连接。
所以问题是如果没有WiFi,Android设备如何通过3G网络直接连接到另一台设备?
注意:我曾想过一台服务器充当将电话号码映射到IP地址的代理服务器,但如果我可以使用电话号码建立直接频道作为3G上的ID。
提前感谢能够提供任何信息的任何人。
答案 0 :(得分:1)
此处:http://developer.android.com/reference/android/net/ConnectivityManager.html
和:Google Android - how to figure out if 3g and 2g is turned on
和:How to use 3G Connection in Android Application instead of Wi-fi?
和:ConnectivityManager getActiveNetworkInfo() is always null even with data traffic active
答案 1 :(得分:1)
关于3G网络如何工作的Google搜索我发现NATing(NAT Traversal)涉及出站和入站连接。通过WiFi连接时不需要这样做。所以,然后在android + NAT + 3G +套接字上进行一些搜索,我得到了这个问题的答案。
Android Client, Pc Server Socket d'ont work over 3g
https://stackoverflow.com/questions/917385/nat-traversal-with-java
答案 2 :(得分:0)
我已经使用Google Play游戏服务来实现iOS / Android跨平台。
您可以根据需要使用实时或回合制API。 https://developers.google.com/games/services/common/concepts/realtimeMultiplayer