TCP 粘包? 到底有没有粘包?

77 天前
 error0

听说这是贵站的月经贴! 关于 TCP 协议 ”粘包和拆包“ 的见解

6946 次点击
所在节点    程序员
68 条回复
maigebaoer
77 天前
再说粘包,直接抓起来🔫打靶!
Znemo
77 天前
没见过有人觉得这是 tcp 的缺陷,不了解的人不敢质疑,了解的人知道咋回事。我反而觉得这个词会让人更近一步的了解 tcp 。
seers
77 天前
我倒觉得没啥,tcp 毕竟是字节流,包是上层定义的,在上层看来,底下的包不就是一个个粘在一起的吗哈哈哈
james122333
77 天前
这是应用层处理资料逻辑 目前来看读行方式才是好的处理方法
DefoliationM
77 天前
人的问题,udp 太大到 ip 层也会分包,如果 ip 层的分片也是用户态自己写的话,那 ip/udp 粘包也会成为日常问题。
DefoliationM
77 天前
@DefoliationM 当然 ipv6 除外
sagaxu
77 天前
这是 TCP 的缺陷,或者说不便(容易误用,使用麻烦)之处,所以后来的 SCTP 是基于帧的,只不过历史太重改不了了
mx1700
77 天前
文章写的很好,所谓的"粘包"现象实际上是对 "stream" 这个抽象设计的不理解
littlewing
77 天前
TCP 没有 package ,TCP 是 stream
fovecifer
77 天前
你要是聊 TCP 的缺陷,那就太多了,要不然也不会有 QUIC 。

但是谁再提粘包,那就别当程序员了
iOCZS
77 天前
不同层次的问题
wen20
77 天前
"粘包" 是个很早就有的词, 表示程序代码读取 tcp 流时发生了“非预期现象”,是一种错误使用。
哪位觉的"粘包"这词不妥,给个合理新词描述这种现象?
julyclyde
77 天前
@wen20 可以用“error”这个词
julyclyde
77 天前
@wen20 mistake 这个词更合适吧。强调是主观错误而非客观错误
Rorysky
77 天前
流式协议,黏豆包呀,什么你业务黏了,那和我传输层协议有什么关系?
Bingchunmoli
77 天前
@julyclyde error 不太合适,不是 TCP 的错误叫 tcp 错误不太合理
anzu
77 天前
你提到的《 Netty 权威指南(第 2 版)》是国人写的,我还以为是翻译著作,给自己写的书冠以权威二字真是相当有勇气。计算机类书籍,不要看国内的写的,基本都是垃圾,就像这本一样,有意无意推广了「 TCP 粘包」这种错误的说法。
xuxihai
77 天前
@error0 ` TCP 粘包? 到底有没有粘包?` 有啊!` “TCP 粘包像是错误的设计” ` 也没问题啊,这不是 TCP 的问题,“TCP 粘包“不是问题,"TCP 粘包"是一种现象!本质上是应用协议设计者没有考虑消息边界导致的一种现象。
Kylin30
77 天前
他们吵起来是因为一边的”粘包“是动词,一边的”粘包“是名词。
kenvix
77 天前
当启用了 Nagle 时,会粘包。通常强烈建议考虑粘包的情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1067508

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX