c++ - 无法连接到端口,但 netstat 显示正在监听的端口

标签 c++ port winsock

尝试连接时出现错误:

"No connection could be made because the target machine actively refused it."

但是 netstat 显示:

TCP    0.0.0.0:MY_PORT           MY_PC:0        LISTENING

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

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


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

最佳答案

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

关于c++ - 无法连接到端口,但 netstat 显示正在监听的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16340259/

相关文章:

c++ - 是否有不是以 C/C++ 风格编写的 OpenCL 绑定(bind)?

c# - 不同的编程语言有哪些优点?

c# - Python 到 C# 移植后的错误计算

linux - 为什么我需要在每次关机/休眠后再次执行 sudo chmod a+rw/dev/ttyACM0 命令?

windows - 什么类型的网络流量不使用 Windows 中的 Winsock?

c++ - 链接问题,C++ 成员函数到 C 回调

c++ - 如何使用按键在 while 循环中切换 bool

javascript - node-serialport 不列出也不检测连接到笔记本电脑的 USB 设备

使用 winsock 和 std::thread 的 C++ 多线程服务器

c++ - Winsock 客户端 - 通过 TCP/IP4 连接到网络摄像机