1.网络是使用移动2g
2.硬件会上传数据到服务端,服务端有时也需要传数据到硬件,所以感觉有长连接比较合适
3.服务端用java
4.数据量较小,基本在1kb以内
5.数量不确定,初期大约在几千,以后看情况
问题:用哪些通信协议比较合适?
1.网络是使用移动2g
2.硬件会上传数据到服务端,服务端有时也需要传数据到硬件,所以感觉有长连接比较合适
3.服务端用java
4.数据量较小,基本在1kb以内
5.数量不确定,初期大约在几千,以后看情况
问题:用哪些通信协议比较合适?
我就不是一楼的说的任何一种情况,终端单片机,通信采用socket长连接,负责采集信息以及上传,下载内容和打印,终端数5k+,服务器是c++ 写的,在centos下运行.
我觉得很搞笑的是,除了web应用,以及内置WebView这两种,谁会在实际产品中,采用http这种极其臃肿的协议?
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
websocket 或 json
用2G网络不要用长连接,很多人倒在这里。
不太清楚你说的硬件是什么平台,如果是ios或者安卓,二者都支持用curl类型的方法去对web服务器进行POST/GET,即完成文件上传和数据下载。双方都是用json格式进行数据交换;对于二进制数据包采用base64编码变为标准文本。目前90%以上的互联网协议都遵循这个标准,包括较大的文件上载都是很常见的。非常稳定可靠。websocket是另外一种基于http的方法,便于服务器端直接给客户端发消息,可以自行百科一下。如果你的“硬件平台”既不是安卓也不是ios,而是嵌入式linux之类的,完全可以用curl + bash或者wget + bash脚本直接写,连C语言的程序可能都不需要编,一样很稳定。如果你的硬件以上三种都不是,那么大概你该换个工作了,因为实在非主流。。。