gpt4 book ai didi

c - 服务器 - 客户端通信

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:45 26 4
gpt4 key购买 nike

我正在编写一个网络 C 程序,其中客户端将数据 block 发送到服务器,我想要确保在我从客户端关闭套接字之前服务器已读取所有数据。我想从服务器向客户端发送一个特殊的“ok”字符,但我在想如果在服务器执行期间发生错误程序和服务器从他这边关闭管道(例如读取系统调用失败),客户端将等待读取系统调用以获取永远不会到来的东西。知道如何解决这个问题吗?

谢谢,尼克斯

最佳答案

I want to make sure that all data have been read by the server b*efore I close the socket from the client side*.

如果您使用的是 TCP,请考虑这一点:一旦您发送数据,即使您关闭套接字/退出程序,TCP 堆栈仍会继续尽力发送数据。。 p>

一旦您发送/写入数据,它就从您手中消失了。它被复制到内核缓冲区中并在稍后发送。在幕后(netinet 的某个深处)连接不会关闭,直到所有发送的数据都被确认/连接由于其他原因而终止。

关于c - 服务器 - 客户端通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6190536/

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