如何告诉客户端在IPC期间使用QLocalSocket结束连接?

时间:2016-06-06 17:31:46

标签: c++ qt

我有两个程序使用QLocalSocket& QLocalServer,我已成功实现连接并成功发送数据。

但是,对于QLocalServer方面,我怎么知道客户端连接已经结束(比如客户端程序退出)?

这样我可以在服务器端释放相应套接字的资源吗?

1 个答案:

答案 0 :(得分:1)

您可以将来自QLocalHost的void QLocalSocket::disconnected()信号连接到班级中的一个位置:

connect(mySocket, &QLocalSocket::disconnected, this, &MyClass::socketDisconnected, Qt::QueuedConnection);

或者您可以连接到stateChange(更详细的版本),例如:

// Connect like this
connect(mySocket, &QLocalSocket::stateChanged, this, &MyClass::socketNewState, Qt::QueuedConnection);

// Implement a slot that handles the various states...
MyClass::socketNewState(QLocalSocket::LocalSocketState socketState)
{
   qDebug() << "New state is " << socketState << endl;
}