UDP锁定?

UDP锁定?,udp,Udp,嘿,伙计们,我需要人们猜答案:( 我正在使用UDP套接字,我正在做的是发送大约8、4或任何字节的播放机输入。我正在使用recvfrom和sendto。它可以工作几分钟,然后随机锁定。这可能是因为我的应用程序逻辑,但我想知道是否有人对此有经验,这是一个UDP/网络问题。我的代码在这里但我最想知道的是,根据您的经验,我可以研究什么来纠正这个问题。使用Wireshark来找出哪一方失败了 是发送者没有发送吗 还是接收器没有接收?是您的GetInput()函数希望sendTo和recvFrom始终完成?

嘿,伙计们,我需要人们猜答案:(


我正在使用UDP套接字,我正在做的是发送大约8、4或任何字节的播放机输入。我正在使用recvfrom和sendto。它可以工作几分钟,然后随机锁定。这可能是因为我的应用程序逻辑,但我想知道是否有人对此有经验,这是一个UDP/网络问题。我的代码在这里但我最想知道的是,根据您的经验,我可以研究什么来纠正这个问题。

使用Wireshark来找出哪一方失败了

是发送者没有发送吗

还是接收器没有接收?

是您的GetInput()函数希望sendTo和recvFrom始终完成?UDP不能保证发送或接收您的消息,也不能保证消息以什么顺序到达。我认为您的超时也被设置为无穷大,因此每隔一段时间就会发生一次,消息失败,您会无限期地等待已丢失的消息。

怎么办“锁起来”是什么意思


请注意,允许网络丢失(丢弃)UDP数据包:您的协议应该允许某些数据包偶尔丢失,或者愿意重新传输。

锁定意味着什么以及谁被锁定。
您尚未检查“recvfrom”和“sendto”的返回值"系统调用。您是否尝试运行Wireshark来观察其行为。

它会在LAN上丢失吗?我的路由器非常棒。不要紧,网络流量和UDP的本质是消息丢失。计算机和路由器之间的物理线路会导致信号丢失。尝试在世界的另一端使用UDP服务器,您会发现TCP补偿并保证传输,如果你使用UDP,你必须自己实现这些特性。