恭喜,你发布的帖子
发布于 2021-10-02 11:18:01
22楼
物理环境造成的丢包对谁都一样,只不过通过代价和开销封装起来,直接看不到罢了。
如果手机在wifi和4G之间切换,基于TCP会掉线,而基于UDP可以做到不掉线。TCP的一些东西有点太老沉重,很多问题。建议了解一下通信的趋势,那些大公司拿UDP在做什么,早已不是陈年的印象了。HTTP/3 是基于UDP,谷歌的Quic,腾讯抖音快手做的一些事情。
UDP是一张白纸,非常单纯的传输层协议。IP是从计算机到计算机,UDP是从端口到端口,非常简洁。很多手段可以在应用层做,可玩性好。
自己做的UDP通信结构已经主体完成,在调试迭代。原本没这个打算,前些日子用UDP跑modbus效果不错,想起来的。
现在采用的Master发命令的UDP报文头是21个字节,后面携带用户数据。Slave应答的报文头是28字节。读、写、心跳都是。
提一嘴,封装UDP报文的时候需要把本地网口IP地址写进去,更多信息如下
其中,MAC地址是排在PN 名称之后,而PN name 的长度是不定的。计算MAC地址起始索引的示意如下。它总是在从1开始的4的倍数+2的位置
赞同,TCP开销大的缺点很明显。
modbus就很适合在udp上跑,在应用层来做处理确认。
请填写推广理由:
分享
只看
楼主