【发布时间】:2012-01-20 16:16:56
【问题描述】:
我正在开发一个使用 UDP 端口 6785 来发现网络连接数据记录器的应用程序。我的应用程序尝试调用 bind() 如下:
int socket_handle;
int error = 0;
socket_handle = socket(AF_INET, SOCK_DGRAM, 0);
if(socket_handle < 0)
error = errno;
if(error == 0)
{
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_len = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_port = htons(6785);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
error = bind(socket_handle, (struct sockaddr const *)&addr, sizeof(addr));
}
bind() 返回的错误是错误 49(无法分配请求的地址)。发生这种情况是因为与某些内部设备服务发生冲突,还是因为某些未知原因被操作系统阻止?
事实证明,如果我关闭了 VPN,则不会发生故障。我必须启用 VPN 才能从 wifi 访问我们的本地网络。
【问题讨论】:
-
如果您将端口更改为其他内容,这是否有效?
-
您的设备上是否运行了 Splashtop Remote?