0

尝试连接时出现错误:

“由于目标机器主动拒绝,无法建立连接。”

但 netstat 显示:

TCP    0.0.0.0:MY_PORT           MY_PC:0        LISTENING

我能想到的唯一问题是绑定到端口的应用程序正在逐步调试,所以它被暂停了。我该如何解决它。

基本上我需要以某种方式知道是否有人已经绑定到一个端口。(我不能用SO_EXCLUSIVEADDRUSE


我想我无法连接,因为使用端口的应用程序处于调试暂停模式,所以,第一次连接时它不会“清除连接”。

4

1 回答 1

1

如果您只想检查给定端口是否正在使用,您可以bind()访问它并检查是否失败。如果您不想创建套接字并绑定它,则可以改为循环遍历由GetTcpTable()GetTcpTable2()GetTcp6Table()GetTcp6Table2()GetUdpTable()GetUdp6Table()函数返回的数组。Table2()不仅报告正在使用的 IP 和端口,还报告拥有它们的进程 ID(然后您可以从中访问其他信息,如文件名)。这些与 netstat 在内部用于获取其信息的函数相同。

于 2013-05-03T00:17:38.860 回答