传输内容是一些文本(每分钟数据量在 1KB 左右),和一些图片(平均大小 80KB 左右,如果用 WS 的话应该要传链接走 HTTP 下载以免堵塞 WS )
1 DefoliationM 2022-12-15 00:22:12 +08:00 WebSocket 吧,http 可能还要重新进行 tcp 三次握手。 |
2 edis0n0 OP 原始需求是服务器推送指令,部分指令客户端需要向服务器上传 80KB 左右的返回数据(二进制) 因为弱网,用的是简单对称加密,无 TLS |
3 edis0n0 OP 延迟不敏感,5 秒以内都可以,稳定性比较重要(不能出现掉线 1 分钟客户端才检测到,然后才开始重连的情况) |
![]() | 4 wwbfred 2022-12-15 00:35:11 +08:00 via iPhone 简单想了下,除非 HTTP 轮询每次都重新握手,否则应该差不多,建议用 ws 。 |
![]() | 6 tyzandhr 2022-12-15 01:02:30 +08:00 via Android 冒昧问下,为什么不本地分包后用 udp 发,服务端做个校验呢?节省掉握手时间。_(:з」∠)_ |
![]() | 9 wwbfred 2022-12-15 01:27:54 +08:00 @edis0n0 链路中断除非到下一次数据包 /心跳包发送的时候才能检测到,在此之前任何协议都无法检测到。 而正常的挥手任何一个设计合理的协议都是可以感知的,不存在很久后才能检测到的问题。 |
10 userdhf 2022-12-15 02:03:41 +08:00 盲猜是监控... |
11 xsen 2022-12-15 08:09:16 +08:00 小包传输,重连+断点续传 传输成不管是 http ,还是 websocket ,或者 tcp 或 udp 都差距不会很大 |
12 xsen 2022-12-15 08:09:51 +08:00 1-2s 一个心跳检测通讯状况 |
![]() | 13 CyJaySong 2022-12-15 08:59:31 +08:00 MQTT 了解一下? |
![]() | 14 cheng6563 2022-12-15 09:20:02 +08:00 客户端不是浏览器不如用 MQTT |
![]() | 15 winglight2016 2022-12-15 09:29:13 +08:00 @CyJaySong 的确,物联网协议那么多,何必自己发明轮子 |
![]() | 16 SmiteChow 2022-12-15 09:39:57 +08:00 MQTT over WebSockets |
17 Twan 2022-12-15 09:41:03 +08:00 UDP |
![]() | 18 newmlp 2022-12-15 11:09:32 +08:00 http3 |
19 superliy 2022-12-15 11:32:09 +08:00 ws 有没有可能出现连接断开客户端过很久才检测到的情况? 有没有断开连接 要自己通过心跳保证的,比如两秒中发一个 byte ,服务端立即回复,两次收不到回复就认为是断开的 |
![]() | 20 luny 2022-12-15 11:45:20 +08:00 2G ,被运营商限制,现在基本都没有流量了,可以实测一下,估计几个字节都难 |
![]() | 21 anviod 2022-12-15 13:06:48 +08:00 为啥不用 NBIoT 或者 cat 网络 做物联网产品吗? 稳定的一批 |
22 tmumu 2022-12-15 13:14:19 +08:00 13 楼正解,mqtt 或者 ws |
![]() | 23 opengps 2022-12-16 09:37:52 +08:00 弱网 WebSocket 好很多,http 光包头信息就占了那么多,甚至更推荐原生 socket 去 udp 发数据 |
24 patrickyoung 2022-12-16 12:07:40 +08:00 via iPhone MQTT |