一、TCP粘包问题
(一)什么是粘包?
TCP粘包是指发送方发送的多个数据包在接收方接收时被合并成一个大的数据包的现象。这种现象是由于TCP协议本身的特性导致的,TCP是面向流的协议,数据在传输过程中没有明确的边界。
(二)解决方法
1.消息边界:在每一次发送的消息最后,添加一个特殊的字符(\r\n)表示消息的边界 。需要接收端,在应用层面自行处理。
2.发送定长的数据——数据本身比较固定:强行将数据分成一包一包,每一包大小固定。
3.结构体:自定义结构体(消息头(head)、消息体(body))
二、函数
(一)recv(read)
(二)send(write)
三、UDP
(一)c/s模型
(二)函数接口
1.sendto
2.recvfrom