多个客户端套接字消息

时间:2016-12-06 23:48:05

标签: sockets tcp client-server protocols

主机停止发送后是否可以继续接收套接字消息?我们的客户端似乎正在循环套接字消息(一遍又一遍地获取相同的消息),即使主机没有发送这些消息。客户端将收到1000条消息,而主机却没有发送那么多消息。

2 个答案:

答案 0 :(得分:1)

根据我的经验,这种情况真的发生了。正如评论者所说,客户端或服务器中的错误很有可能。

我建议使用wireshark来嗅探线上发生的事情。

如果多次在电线上实际看到数据,请查看您的服务器代码。否则看看客户端。如果你的程序在普通的windows / linux / mac计算机上运行,​​你可以直接在其中一台机器上进行嗅探。

答案 1 :(得分:0)

  

主机停止发送后是否可以继续接收套接字消息?

没有

  

我们的客户端似乎正在循环插槽消息(一遍又一遍地获取相同的消息)

换句话说,它忽略了recv()的返回代码或者它用于读取的任何API,因此即使在文件结束或终端错误之后它也会不断重用相同的缓冲区内容。

  

即使主持人没有发送这些消息。客户端将获得1000条消息,而主机没有发送那么多消息。

客户端不会接收甚至一个多余的消息,但是有很多方法可以轻松地打印多余的消息。