IpcServer 类

IpcServer 类监听一个端口并为传入的连接创建一个 IpcConnection。 更多信息...

头文件 #include <IpcServer>
继承 QObject

公共函数

IpcServer(QObject *parent = 0)
voidlisten(int port)
voidsetMaxConnections(int num)

信号

voidclientConnected(QTcpSocket *socket)
voidclientConnected(const QHostAddress &address)
voidclientDisconnected(const QHostAddress &address)
voidclientDisconnected(QTcpSocket *socket)
voidreceived(const QString &method, const QByteArray &content)

详细描述

IPC 服务器从客户端接收一个方法调用的通知,并通过 IpcServer::received 信号通知用户。

m_server = new IpcServer(this);
connect(m_server, &IpcServer::received, this, &MyHandler::handleCall);
m_server->listen(Constants.DEFAULT_PORT());

...

MyHandler::handleCall(const QString& method, const QByteArray& contnt) {
  if (method == "echo(QString)") {
    QString text;
    QDataStream in(content);
    in >> text;
    qDebug() << "call received: " << method << ": " << text;
  }
}

成员函数文档

IpcServer::IpcServer(QObject *parent = 0)

使用父对象 parent 的标准构造函数

[信号] void IpcServer::clientConnected(QTcpSocket *socket)

当建立新的客户端连接时调用,提供 socket

注意:该类中的信号 clientConnected 被重载。要使用函数指针语法连接到此信号,Qt 提供了一个方便的帮助程序,如下例所示

connect(ipcServer, QOverload<QTcpSocket *>::of(&IpcServer::clientConnected),
    [=](QTcpSocket *socket){ /* ... */ });

[信号] void IpcServer::clientConnected(const QHostAddress &address)

当建立新的客户端连接时调用,提供 address

注意:该类中的信号 clientConnected 被重载。要使用函数指针语法连接到此信号,Qt 提供了一个方便的帮助程序,如下例所示

connect(ipcServer, QOverload<const QHostAddress &>::of(&IpcServer::clientConnected),
    [=](const QHostAddress &address){ /* ... */ });

[信号] void IpcServer::clientDisconnected(const QHostAddress &address)

当现有的客户端连接断开时调用,提供 address

注意:该类中的信号 clientDisconnected 被重载。要使用函数指针语法连接到此信号,Qt 提供了一个方便的帮助程序,如下例所示

connect(ipcServer, QOverload<const QHostAddress &>::of(&IpcServer::clientDisconnected),
    [=](const QHostAddress &address){ /* ... */ });

[信号] void IpcServer::clientDisconnected(QTcpSocket *socket)

当现有的客户端连接断开时调用,提供 socket

注意:该类中的信号 clientDisconnected 被重载。要使用函数指针语法连接到此信号,Qt 提供了一个方便的帮助程序,如下例所示

connect(ipcServer, QOverload<QTcpSocket *>::of(&IpcServer::clientDisconnected),
    [=](QTcpSocket *socket){ /* ... */ });

[信号] void IpcServer::received(const QString &method, const QByteArray &content)

表示已到达IPC调用

请求method并使用content作为方法参数的IPC调用

void IpcServer::listen(int port)

监听port上的传入连接

void IpcServer::setMaxConnections(int num)

将最大挂起连接数设置为num

©2019 Luxoft Sweden AB。此处包含的文档贡献归其各自所有者所有。提供的文档是根据自由软件基金会发布的GNU自由文档许可版1.3许可的。Qt及其相关标志是芬兰及其它国家和地区Qt公司有限责任公司的商标。所有其他商标均归其各自所有者所有。