我有两个程序使用QLocalSocket& QLocalServer,我已成功实现连接并成功发送数据。
但是,对于QLocalServer方面,我怎么知道客户端连接已经结束(比如客户端程序退出)?
这样我可以在服务器端释放相应套接字的资源吗?
答案 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;
}