平台独立的Qt5方式获取开放的TCP端口

Pau*_*erg 4 port qt tcp cross-platform qt5

在Qt中是否有一种独立于平台的方式来获取未使用的TCP端口?我需要启动一个现有的应用程序,必须给它一个开放的TCP端口才能使它工作.

小智 5

使用QTcpServer更简单.

bool QTcpServer::listen(const QHostAddress & address = QHostAddress::Any, quint16 port = 0)

如果port为0,port则自动选择a ,然后quint16 QTcpServer::serverPort() const用于获取"空闲"端口

然后关闭你的Tcp服务器

要么

生成一个ramdom端口,用于QTcpSocket连接它(本地连接)

  1. 如果已连接,则您的端口是QTcpSocket::localPort()并关闭此tcp套接字
  2. 如果没有连接,你的端口是随机端口;