gpt4 book ai didi

c - 客户端断开连接后是否可以从客户端套接字读取数据?

转载 作者:行者123 更新时间:2023-11-30 17:13:22 26 4
gpt4 key购买 nike

我正在尝试编写一个 C 语言服务器程序,该程序将能够处理写得不好的客户端程序。客户端向服务器发送一堆命令,然后关闭套接字。服务器执行每个命令后,应该根据命令是否失败向客户端发送 0 或 1。

如果我不尝试在每个命令后向客户端发送一个字节,则一切都很好,并且在客户端关闭套接字后我可以继续在服务器端读取命令。但是,如果我尝试写入 1 个字节,则在从客户端读取 1 个命令后,我将无法再读取命令(连接由对等方重置)。

有办法解决这个问题吗?比如,能够写入和读取所有命令?

最佳答案

在这种情况下,您需要知道客户端在发送另一个命令之前是否等待您对每个命令的答复。在典型的客户端-服务器连接中,客户端开始通信。由于您的客户端正在发送一堆命令,因此有两种可能性:

  • 在操作结束时,您的套接字返回结果将是 OK 或 NOK。
  • 对于客户发送的每条消息,您的返回结果将是 OK 或 NOK。

此外,我建议您发送任何跟踪信息,以便我们评估哪种解决方案更适合您的情况。

关于c - 客户端断开连接后是否可以从客户端套接字读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895593/

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