WSA listen() 调用中的 C++ 异常

Posted

技术标签:

【中文标题】WSA listen() 调用中的 C++ 异常【英文标题】:C++ exception in WSA listen() call 【发布时间】:2010-12-14 22:27:47 【问题描述】:

我遇到了与该用户相同的错误。我的代码非常相似。

Socket Exception: "There are no more endpoints available from the endpoint mapper"

我尝试了他所做的一切,我的 listen() 调用仍然产生异常,但没有报告错误代码。 WSAGetLastError() 也没有给我任何错误。它似乎通过了。但是,当我使用“netstat -an”查看打开的端口时,我的端口没有列出。我尝试颠簸(SOMAXCONN)并降低(10和1)listen()上的积压参数。有人对这个问题有任何见解吗?

我的 UDP 代码工作正常。 TCP 代码没有。我正在运行 Windows Server 2003 R2。

注意:此代码是单元测试的一部分,我在其中侦听端口并将 127.0.0.1 连接到该端口。

【问题讨论】:

这是蓝牙插座吗? 【参考方案1】:

引用线程中指出您应该忽略第一次机会异常的答案是正确的。这不是套接字问题,当然也不需要摆弄注册表项或 SO_LINGER。您的积压将向上调整为 50,因此您也可以将其设置为该值。

【讨论】:

以上是关于WSA listen() 调用中的 C++ 异常的主要内容,如果未能解决你的问题,请参考以下文章

C++ 多线程中的一个抛出异常

为啥 WCF 删除了我的回复消息中的 wsa:To 标头?

WCF寻址 - 删除WSA:TO元素

从 C# 调用 C++ DLib 导致错误分配异常

在我的代码中出现这个“10038 wsa socket”错误

如何通过面具 Magisk 来Root Windows11中的 Subsystem for Android 安卓子系统WSA