嘿伙计们我需要人们猜测解决方案:(。
我正在使用UDP套接字,而我正在做的是发送大约8,4或任何字节的播放器输入。我正在使用recvfrom和sendto。它可以工作几分钟然后随机锁定。这可能是因为我的应用程序逻辑,但我想知道是否有人有这方面的经验,这是一个UDP /网络问题。我的代码在这里http://www.pastie.org/486583,但我最想知道根据您的经验,我可以根据您的问题来解决这个问题。
答案 0 :(得分:2)
使用Wireshark确定哪一方失败。
发件人不发送?
或接收者没有收到?
答案 1 :(得分:0)
您的GetInput()函数是否期望sendTo和recvFrom始终完成? UDP不保证发送或接收您的消息,也不保证消息的到达顺序。我认为你的超时也被设置为无限,所以每隔一段时间发生一次,一条消息失败,你无限期地等待已经丢失的消息。
答案 2 :(得分:0)
“锁定”是什么意思?
请注意,允许网络丢失(丢弃)UDP数据包:您的协议应该允许某些偶尔丢失或者愿意重新传输。
答案 3 :(得分:0)
锁定意味着什么,以及谁被锁定。 您尚未检查“recvfrom”&的返回值。 “sendto”系统调用。您是否尝试过运行Wireshark来观察行为。