应用层通信协议的问题

做了不少物联网通信上的模块,也看过了各种各样的协议解析,也学习了不少开源软件的网络交互方式,不谈那些http和其他一些封装好的处理方法,总认为tcp丢包或者包错了,那就会导致解析模块很容易卡住,比如长度位错了,你还要一直找协议头,始终找不到,

群里大佬都说tcp丢包和错包不用考虑,那是硬件问题或系统问题,不要考虑。。。

查了下资料tcp层有可能丢包,比如型号衰减或者网络阻塞等情况,但是这些情况与应用层无关,并且tcp有重传机制和其他安全性机制保证应用层意义上的包的连续性和完整性,所以从应用层协议的角度来看tcp层是不会丢包的。这个是我个人理解,现在公司的应用场景都是小范围的传输,确实没有丢包这种事情。但是做服务端,那种长距离传输我也不知道是什么样子,反正在短距离传输,不用考虑这个了。可能有理解错的地方,希望大家提点指出。

你可能感兴趣的:(c++,qt)