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

时间:2012-03-07 07:42:30

标签: c


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

像对话一样:
客户端:嗨//这里我想告诉服务器客户端已发送数据并等待响应,之后它又可以发送到服务器
服务员:你好 客户:你好吗?

服务员:我很好,谢谢! 服务员:那你呢? 客户:我也很好,谢谢。

2 个答案:

答案 0 :(得分:1)

有三种方式告诉客户端已完成。

  1. 客户端发送一条特殊消息,表示“我已完成,关闭我的连接。”,即服务器关闭连接。
  2. 客户端只是关闭连接,服务器在检测到它时必须处理它。
  3. 对于请求 - 响应类型的协议,如Web浏览器和服务器,服务器只需在将响应发送到客户端后关闭连接。

答案 1 :(得分:0)

此类问题有两种解决方案:

  • 每条消息都在标题中包含一个长度,因此另一方知道要预期的数据字节数。如果您事先不知道长度,请以块的形式发送数据。

  • 每条消息都以特殊符号终止

这与终止连接的一方无关,因为另一方在尝试读取/发送数据时会收到错误,并且您无论如何都需要处理此错误。