我遇到的情况是Linux客户端正在使用UDP套接字。客户端正在发送消息,如果在 10 秒内没有响应,客户端将在 10 秒间隔内重试。
这种情况是当连接断开时,许多试验是从客户端发送的,同时服务器端没有收到任何内容。连接启动后,我发现所有以前的消息都在服务器上的同一时刻收到,这意味着它被缓冲了,并且由于在同一时刻在服务器端收到重复的消息,它会导致很多问题。
客户端上的 TCPDUMP
:21:01:14.691903 IP 172.123.13211 > 172.34.13211: length 88 "1st at second 14"
21:01:24.692791 IP 172.123.13211 > 172.34.13211: length 88 "2nd at second 24"
21:01:34.694930 IP 172.123.13211 > 172.34.13211: length 88 "3rd at second 34"
21:01:44.696020 IP 172.123.13211 > 172.34.13211: length 88 "4th ate second 44"
连接启动后的服务器 TCPDUMP :
12:02:01.509518 IP 172.123.13211 > 13211: length 88 "Received 1st at second 1"
12:02:01.517841 IP 172.123.13211 > 13211: length 88 "Received 2nd at second 1"
12:02:01.543759 IP 172.123.13211 > 13211 length 88 "Received 3rd at second 1"
12:02:01.550741 IP 13211 > 172.123.13211: length 36
12:02:01.567948 IP 172.123.13211 > .13211: length 88
我需要了解在使用UDP套接字并且连接关闭的情况下。 如何避免在短缺期间缓冲数据包
客户端代码在C++ 谢谢
你可能正在寻找这个:
如何在 C 语言中刷新 UDP 套接字的输入缓冲区?
您在问题中使用的语言也是错误的。请更加干净和准确,并使用相关术语