Eps*_*tor 1 sockets linux networking
我在 Linux(作业)中实现了一个类似 FTP 的协议,我遇到了以下问题:客户端可能能够在另一方设法执行 accept() 之前进行 connect() 和 write()(但在它确实监听之后) ())。如何在不依赖于在不同通信通道中传递诸如“接受成功,您现在可以写入”之类的消息的情况下阻止写入操作?
在建立 TCP 连接之前,connect() 调用不会返回。在服务器端调用accept() 之前,数据不会到达服务器应用程序。但是,一旦建立了 TCP 连接,客户端就可以开始发送数据。它将由服务器堆栈缓冲,直到它被服务器应用程序读取。
防止写操作的目的是什么?如果服务器延迟调用accept(),TCP 窗口机制将暂停数据流。
| 归档时间: |
|
| 查看次数: |
284 次 |
| 最近记录: |