繁体   English   中英

socket send在udp数据包期间得到错误22

[英]socket sendto get the error 22 during udp packets

我编写了一个客户端应用程序,它使用mdnsreponder进行一些服务发现。 我有一个要求,我的客户端IP将经常变化。 每当IP发生变化时,我都需要再次进行发现。 所以我编写了简单的测试应用程序,它将每1分钟更改一次IP并进行发现。

一切正常,但在几次IP更改(大约7-10次更改)后,它会产生以下套接字错误。

(下面是mdnsresponder代码中sendto套接字函数的错误代码)

mdnsplatformsend udp got error 22 .

之后,我的请求将不会将其放在具有新IP的接口上。

我必须重新启动我的应用程序,然后只有它工作...

有人可以帮助找出问题,为什么它会在几次试验后停止?

请仔细检查您传递的sendto函数的参数。 当套接字绑定丢失时,可能会发生此错误。 这意味着套接字绑定的地址已更改或无效。 由于您传递的地址结构的大小错误,也可能导致错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM