我必须经常每100毫秒从Android手机向服务器发送数据。(电池不是问题)。我正在与自己讨论是否可以使用标准Java URL连接来实现此目的,或者使用SocketChannel创建自己的自定义套接字实现。我可以完全控制两个端点,并可以自由选择我想要的任何东西。这些方法的优点和缺点是什么?还有其他方法吗?请注意,我已经尝试过Google XMPP。但发现许多数据点都在下降。没有得到Google的回复。
请注意,可靠性是首要考虑因素。我必须实时获取每个样本,除非无线电链路本身存在一些问题。请提供一些指示。
答案 0 :(得分:0)
套接字TCP连接:
套接字UDP连接
HttpURLConnection类:
答案 1 :(得分:0)
如果您必须经常传输数据,那么使用套接字是有意义的。您可以长时间保持连接打开,在同一频道内发送数据包,并且在每次传输时不要浪费资源重新打开它。
答案 2 :(得分:0)
我考虑了各种选项:http,xmpp,自定义套接字实现..最后我偶然发现了 https://github.com/Gottox/socket.io-java-client。无痛地工作。我立刻就跑起来了!当然,在早期项目中使用socket.io有所帮助。我从没想过会有socket.io的java客户端!猜猜我没有问正确的问题。到目前为止,这个解决方案运作良好。如果有的话,我会测试并发布更新。如果您需要实现持久的实时通信,请考虑此选项。
答案 3 :(得分:0)
如果您要为出租车应用或大型实时数据传输应用实现 socket.io ,请不要使用socket.io 。只需使用 firebase 或首选的 http 连接。