Linux 中套接字缓冲区如何工作?

问题描述 投票:0回答:1

我正在使用 python TCP 服务器,客户端将通过套接字将数据发送到服务器。在 Linux 中,为 TCP 定义了缓冲区大小。那么是不是意味着当客户端写入socket时,数据会被缓冲并直接返回true呢?这意味着我们并不真正知道数据是否会到达服务器。这是正确的吗?

如果是这种情况,在 Linux 中禁用缓冲是一个好习惯吗?如果禁用会导致什么问题?谢谢

linux sockets buffer tcpserver
1个回答
0
投票

在Linux中,有为TCP定义的缓冲区大小

每个平台都这样做。

那么这是否意味着当客户端写入套接字时,数据将被缓冲并直接返回true?这意味着我们并不真正知道数据是否会到达服务器。这是正确的吗?

是的,是的。 了解数据是否真正到达服务器的唯一方法是让服务器向客户端发送回复,并让客户端接收并处理该回复。

如果是这种情况,在 Linux 中禁用缓冲是一个好习惯吗?

不,你无论如何都不能禁用它,因为它是套接字与操作系统内核交互的核心。

© www.soinside.com 2019 - 2024. All rights reserved.