粘包只可能出现在流传输中UDP是不会出现粘包,因为他是基于报文的,也就是说UDP发送端调用几次write,接收端必须调用相同次数的read读完,他每次最多只能读取一个报文,报文与报文是不会合并的,如果缓冲区小于报文长度,则多出来的部分会被丢掉。TCP不同了,TCP是基于流传输的,他会合并消息,并且以不确定方式合并,这样就需要我们去粘包处理了。TCP造成粘包主要原因: 1、
转载
23天前
33阅读