首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平台无关的TCP端口开放Qt5方法

平台无关的TCP端口开放Qt5方法
EN

Stack Overflow用户
提问于 2016-01-08 14:05:00
回答 2查看 1.9K关注 0票数 6

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-08 18:02:11

使用QTcpServer更容易。

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

如果port为0,则自动选择port,然后使用quint16 QTcpServer::serverPort() const获取“空闲”端口。

然后关闭您的Tcp服务器

生成一个分支端口,使用QTcpSocket连接它(本地连接)

  1. 如果已连接,则端口为QTcpSocket::localPort()并关闭此tcp套接字。
  2. 如果未连接,则端口为随机端口;
票数 6
EN

Stack Overflow用户

发布于 2016-01-08 14:37:08

你是说某种tcp服务器吗?然后是QTcpServer类。

如果您想启动一个existiong服务器,那么您需要QProcess类。示例:

代码语言:javascript
复制
QString program = "path/to/server";
QStringList arguments;
arguments << "-p" << "1234"; //or what ever you want

QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34678938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档