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