Windows 7 Winsock绑定在绑定端口上未失败

Windows 7 Winsock绑定在绑定端口上未失败,windows-7,mingw,winsock,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 = I

我最近有一个非常奇怪的错误行为,我无法解释为什么会这样。我为自己写了一个网络库(仍在进行中)。今天,我的单元测试失败了,因为另一个应用程序正在使用这些端口。这是意料之中的,但它并没有像预期的那样失败。我正在查看
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");
}
handle=socket(AF_INET、SOCK_DGRAM、IPPROTO_UDP);
地址为sockaddr_;
address.sin_family=AF_INET;
address.sin_addr.s_addr=INADDR\u ANY;
address.sin_port=htons(port);
if(bind(handle,(const sockaddr*)和address,sizeof(sockaddr_in))<0
{
抛出std::runtime_错误(“绑定套接字失败”);
}
(这是你的答案。)

根据我的经验,
bind()。我基本上错了吗


关于细节,我们讨论的是Windows7上的winsock;使用MinGW构建。

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


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

一个端口可以由TCP和UDP同时独立使用,而不会相互干扰。是的。我没有想到这一点。这就是我第一次被误导的原因。