现有需求 2 秒终端发送一次 GPS 数据给服务器端,终端数量很多,这种情况下用什么协议会比较好 tcp/socket tcp/rpc grpc 该如何选择。 现在市场上比较常见的方式是什么,像滴滴那些公司的方案。
|  |      1anx      2019-02-13 17:11:41 +08:00 UDP ? | 
|  |      2Destiny97      2019-02-13 17:21:28 +08:00 via Android gps 汽车定位平台有一套协议,用的 tcp 发送心跳包保持长连接 | 
|  |      3index90      2019-02-13 18:06:59 +08:00 GPS 的数据信息应该不大,终端数量却很多。 这时候要考虑服务端的处理能力,以及数据存储能力,鉴于楼主是想讨论通讯协议,那就只讨论网络层面了。 终端数量多,就不要考虑长链接了,这样会浪费你大量的端口。 建议使用 UDP 协议,如果担心数据会丢,可以在 UDP 协议之上实现自己的七层协议,增加消息确认,和重发机制。 | 
|  |      4delectate      2019-02-13 18:07:57 +08:00 via Android mqtt,gprs。 | 
|  |      5StubbornC      2019-02-13 18:11:05 +08:00 我们公司用的 Socket,不确定是不是最佳方案。 | 
|  |      6javaluo      2019-02-13 18:20:07 +08:00 via Android 认同 3 楼 | 
|  |      7TaylorJack123      2019-02-13 18:23:42 +08:00 via Android mqtt | 
|  |      8huanchena      2019-02-13 18:24:04 +08:00 上家专业车贷。。。Socket 心跳 | 
|      9429839446      2019-02-13 20:27:33 +08:00 via Android mqtt-sn | 
|  |      10niubee1      2019-02-13 20:35:13 +08:00 这, 国内货车不都是上北斗部标机的么? | 
|      11ThirdFlame      2019-02-13 20:42:06 +08:00 见过不少平台用的 udp,这样网络开销小。  在 gsm/GPRS 网络上都能很好的应用。 当然用 udp 肯定会有一定量的丢包 | 
|  |      14l0wkey      2019-03-11 17:14:07 +08:00 无反控需求:CoAP 有反控需求:MQTT |