1
BBCCBB 2018-07-31 17:12:05 +08:00 2
不太可能,可能是你本地测的,没啥压力,没遇到而已, 网络不可能理解你的协议规则, 所以肯定是存在粘包的.
|
3
BBCCBB 2018-07-31 18:10:31 +08:00
socket 本身会有一个读写缓存区, 像 java 的 netty 里, 代码里也会有读取和写入缓冲区,
你可以试一下多写点数据再去读, 应该就有粘包了, 不过没必要,因为理论上他是一定会有粘包的 == |
4
ETiV 2018-07-31 18:11:53 +08:00
tcpdump 抓一波试试就知道了~
|
5
suikator 2018-07-31 18:19:47 +08:00 5
|
6
MeteorCat 2018-07-31 18:20:18 +08:00 via Android
没到瓶颈,可能是单人测试环境,试下虚拟机跑脚本请求大量数据
|
7
1423 2018-07-31 19:00:26 +08:00 1
每次看到有人提到粘包这个词,都挺烦的,5 楼帖子里民科说得好
|
8
ysc3839 2018-08-01 03:44:44 +08:00 via Android
也许开启了 NODELAY ?
|
9
owenliang 2018-08-01 08:48:50 +08:00 via Android
因为你发的太慢了
|
10
skinny 2018-08-01 08:58:26 +08:00
在十几年前我搜索网络编程相关的文章,就被 CSDN 上的文章和帖子里的“粘包”这个民科概念误导过一阵子。
那个时候刚刚接触电脑,又没有读过网络编程相关的书,编程时既想要 UDP 的效果,又想要 TCP 的可靠,还想“简单”,同时明明知道先发送个数据长度或数据类型,亦或是使用分隔符就可以解决的问题,却不知道为什么就是不愿意这么做,然后就搜索相关解决办法看看别人怎么做的,然后就不幸看到“粘包”这个愚蠢的说法,还被误导了一阵子。 现在都 8102 年了,怎么现在还有人用这个民科概念,楼主该看看书更新更新脑子啦! |
11
skinny 2018-08-01 08:59:22 +08:00
呃,楼里不少人该看看书更新更新脑子了。
|
12
salamanderMH 2018-08-01 09:59:44 +08:00
tcp 没有所谓的“粘包”问题,本就是流式协议
|
13
danc 2018-08-01 10:08:55 +08:00
哈啊哈
|
15
reus 2018-08-01 11:43:55 +08:00
以前的人水平不行,不知道 TCP 是流式协议,以为在发送端 Write 什么,接收端的 Read 也会得到同样的数据,结果在发生合并或者分割的时候,就称之为“粘包”。所以“粘包”根本不是“问题”,问题在于不懂得在应用层做切分。
|
16
lolizeppelin 2018-08-02 10:07:44 +08:00 via Android
粘包半包也就是个说法 拿个词来黑没什么意思吧
|