gpt4 book ai didi

linux - 在对方接受请求之前防止写入套接字

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:08 26 4
gpt4 key购买 nike

我正在 Linux 中实现类似 FTP 的协议(protocol)(作业),我遇到了以下问题:客户端可能能够在另一方设法执行 accept() 之前连接()和 write()(但在它确实听了())。如果不依赖于在不同的通信 channel 中传递诸如“接受成功,你现在可以写”之类的消息,我如何才能阻止写操作工作?

最佳答案

在建立 TCP 连接之前,connect() 调用不会返回。在服务器端调用 accept() 之前,数据不会到达服务器应用程序。但是,一旦建立了 TCP 连接,客户端就可以开始发送数据。它将由服务器堆栈缓冲,直到它被服务器应用程序读取。

阻止写操作的目的是什么?如果服务器延迟调用 accept(),TCP 窗口机制将暂停数据流。

关于linux - 在对方接受请求之前防止写入套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3047275/

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