QUdpSocket问题

时间:2010-09-01 11:36:20

标签: qt networking udp

我尝试使用UDP协议发送数据。是否有可能理解UDP何时不发送数据?

非常感谢。

我尝试了一个遇到客户的服务。他们在一秒内向他们的IP发送一个端口号。服务器监听他们,如果他们不发送此消息,它会理解客户端没有连接。我这样做,但我不明白他们什么时候不发送?你有什么建议

2 个答案:

答案 0 :(得分:0)

您可以查看writeDatagram

的结果
  

将数据报的大小大小发送到端口端口的主机地址。返回成功发送的字节数;否则返回-1。

然后只需检查返回编号,确保发送的字节数符合预期

答案 1 :(得分:0)

当然有可能,但可能很难。

我建议:

  1. 验证您是否从调用发送数据的错误中获得错误(可能是您指定了错误的地址,或者套接字处于错误状态或其他状态)。
  2. 尝试发送更多的内容,也许您的本地网络堆栈会丢弃您的数据包。
  3. 确保你真的在收听端正确收听,也许数据包就可以了,但是你没能正确阅读它们。
  4. 与UDP一样,考虑防火墙/ NAT问题。在协议方面,从不在数据包中包含连接信息作为应用程序数据,因为它对NAT机器是不可见的。
  5. 下一步可能是挖掘并试图从本地网络堆栈获得一些反馈,或者可能嗅探网络以查看数据包是否至少以某种方式