Winsock绑定在绑定端口上没有失败

时间:2012-08-30 18:58:21

标签: windows-7 mingw winsock

我最近有一个非常奇怪的错误行为,我无法解释为什么会这样。我为自己写了一个网络库(仍在进行中)。今天我的单元测试失败,因为其他应用程序使用了端口。这是预期的,但它确实失败。我正在查看bind()的结果,那是0。

handle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

sockaddr_in address;
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(port);
if (bind(handle, (const sockaddr*)&address, sizeof(sockaddr_in)) < 0)
{
    throw std::runtime_error("failed to bind socket");
}

(这是full code。)

我的经验是bind()如果使用它的端口将返回错误。我基本上错了吗?

有关详细信息,我们在谈论Windows 7上的winsock;用MinGW构建。

1 个答案:

答案 0 :(得分:0)

好的,我看到的问题不是绑定失败的一部分。很抱歉愚蠢地发布了这个问题;但它让我疯了..

尽管如此,netstat表示该端口正在使用,但TCP ......