gpt4 book ai didi

linux - __connect_no_cancel block 和服务器获取数据乱序

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:46 26 4
gpt4 key购买 nike

我有一个 TCP 服务器使用 select 通过 TCP 套接字从客户端获取数据。服务器消耗数据的速度很慢,而客户端速度要快得多。我的客户端每次发送 8 个字节的数据- 打开一个新的连接-写数据-断开因此(服务器套接字必须接受很多连接)我将 listen 的 backlock 值增加到 500。

尽管有这个设置,但在某些时候我可以看到- 我的客户端阻塞在一个名为 __connect_nocancelpthread 函数中,这种情况发生了很多次。-过了一会儿,我的服务器开始接收无序数据。第一个困惑的数据是客户端阻塞的数据(随后是其他数据)。

我认为增加积压可能会解决这个问题,但事实并非如此。

你能帮帮我吗?我在 Linux 2.6.32

干杯

AFG

最佳答案

listen(2)的积压参数通常限制为操作系统网络堆栈中的某个值。在 Linux 上,默认值为 128。

但真正的问题是,正如@EJP 所说,您完全错误地使用了 TCP。

关于linux - __connect_no_cancel block 和服务器获取数据乱序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com