我对实现与UDP服务交互的Android应用程序的可行性感兴趣.我确定Android支持UDP:
http://www.helloandroid.com/tutorials/simple-udp-communication-example
我不太清楚的是,这种应用程序是否真的可以在典型资费的Android手机上运行 - 用于双向通信.我希望Android客户端通过UDP(宣布自己)联系远程托管服务,并让服务器随后通知Android设备实时事件.
我担心商业网络上的移动设备可能被迫改变IP地址 - 例如 - 当进出Wi-Fi区域时...而且我不清楚NAT是否会成为问题典型的3G网络.
将UDP用于Android手机的双向(尽力而为)通信是否真的可行?
你可以在这里看一些问题.首先,UDP完全可以被Android使用.它可以很好地发送和接收UDP数据包.更大的问题实际上是手机无法接收未打开初始连接的传入UDP连接,除非它在WiFi上且连接来自同一LAN.
在3G/4G上,手机无法从外部寻址,因为无线运营商已配备带代理服务器的防火墙.因此,传入的连接不会通过该防火墙传递.如果电话从防火墙后面打开连接,则双向流量可以通过该链路流动.
现在,你将遇到的问题
1)当手机从网络(3G)转到网络(Wifi)时保持链接活跃
2)持续开启连接的电池寿命
最有可能的是,你真的想要C2DM用于你所看到的.