C 如何知道服务器中数据传输的完成情况

C 如何知道服务器中数据传输的完成情况,c,C,我想让服务器知道到客户端的数据传输已完成,并等待查看客户端是否正在发出任何新请求(在同一端口)。 喜欢对话: 客户机:您好//这里我想告诉服务器,客户机已发送数据并等待响应,稍后可以再次发送到服务器 服务器:您好 客户:你好吗? 服务员:我很好,谢谢 服务器:你呢? 客户:我也很好,谢谢。有三种方法可以告诉客户已经完成了 客户端发送一条特殊消息,表示“我完成了,关闭我的连接”,服务器据此关闭连接 客户端只需关闭连接,服务器在检测到连接时必须处理连接 对于请求-响应类型的协议(如web浏览器和服务


我想让服务器知道到客户端的数据传输已完成,并等待查看客户端是否正在发出任何新请求(在同一端口)。

喜欢对话:
客户机:您好//这里我想告诉服务器,客户机已发送数据并等待响应,稍后可以再次发送到服务器
服务器:您好
客户:你好吗?

服务员:我很好,谢谢
服务器:你呢?

客户:我也很好,谢谢。

有三种方法可以告诉客户已经完成了

  • 客户端发送一条特殊消息,表示“我完成了,关闭我的连接”,服务器据此关闭连接
  • 客户端只需关闭连接,服务器在检测到连接时必须处理连接
  • 对于请求-响应类型的协议(如web浏览器和服务器),服务器只需在向客户端发送响应后关闭连接即可

  • 这类问题有两种解决方案:

    • 每个消息的头中都包含一个长度,以便另一方知道需要多少字节的数据。如果您事先不知道长度,请将数据分块发送

    • 每条消息都以一个特殊符号终止,该符号不能出现在其他任何地方


    这与一方终止连接无关,因为另一方在尝试读取/发送数据时会出现错误,您在任何情况下都需要处理此错误。

    @1如果服务器关闭,则客户端无法在同一端口发送新请求。@2也一样,但@3我想这可能会对我有所帮助…thnksalot@Subratnayak客户可以如果要在连接关闭后发送更多数据,请始终重新连接。