c++ - 在 Windows 中获取下一个打开的 tcp 端口

标签 c++ windows qt tcp

如何在 Windows 上获取下一个打开的 tcp 端口
我在网上搜索了一下,发现了用 Qt 编写的 TcpPortsGatherer ...
唯一的问题是它在我当前的 Qt 版本中不可用,或者它应该用作插件
所以我正在寻找一种使用 TcpPortsGatherer Class 的方法
或者如果有的话就使用原生 Windows 库

更新:

我已经使用如下所示的塞巴斯蒂安方法将找到的端口绑定(bind)到我运行的外部二进制文件,但它总是将端口 1025 分配给可执行文件,我该如何解决这个问题?

QTcpSocket *socket = new QTcpSocket();
qint16 port = 1025;
while(!socket->bind(port, QAbstractSocket::DontShareAddress))
  port++;
socket->close();
socket->deleteLater();

最佳答案

只需指定端口零并绑定(bind)。系统将为您提供下一个可用端口。无需循环。

关于c++ - 在 Windows 中获取下一个打开的 tcp 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24778939/

相关文章:

C++类私有(private)访问修饰符

c++ - Linux 共享库链接错误( undefined symbol )

c++ - 从 C++ 远程访问 Hypertable

c++ - 如何在保留选择的同时刷新 QSqlTableModel?

c++ - 如何从qt中的字符串中获取子字符串?

c++ - 连接 LPCTSTR 字符串

Python 连续读取 Popen (Windows)

批处理文件中的 Windows 7 32 位程序文件路径问题

qt - 如何在 QML 中将 RowLayout 正确拆分为两个相等的字段?

c++:分别处理不同的模板参数