代码改变世界

Socket通信相关

2022-11-22 18:05  jiangys  阅读(52)  评论(0编辑  收藏  举报

socket编程是在tcp/IP上的网络编程,但是socket在上述的模型的什么位置呢。这个位置被一个天才的理论家或者是抽象的计算机大神提出并且安排出来

 

 

什么是粘包?

粘包:socket传输数据是由多个连续的数据包组成,他们被连续的存储在缓存中,在读取数据包时可能由于某些原因导致获取到了错误的发送边界,这时后就会出现后一个数据包的头连接在了前一个数据包的尾部。

怎么解决粘包?

因为TCP协议是基于字节流的,所以在应用层就要自己解决数据的边界问题。
一般来说,定义数据有两种方式,定义长度 或者 定义一个终结符。

 

 

参考:https://zhuanlan.zhihu.com/p/497267988