我有两个程序使用QLocalSocket和QLocalServer完成工控机,我成功地实现了连接并成功地发送了数据。
但是,对于QLocalServer端,我如何知道连接是由客户端终止的(比如客户端程序退出)?
以便在服务器端释放相应的套接字资源?
发布于 2016-06-07 07:36:37
您可以将void QLocalSocket::disconnected()
信号从QLocalHost连接到类中的一个插槽:
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;
}
https://stackoverflow.com/questions/37663537
复制相似问题