提交 38244239 编写于 作者: 丁劲犇's avatar 丁劲犇 😸

Sloved a socket-error problem , when socket error happened, some cleaning...

Sloved a socket-error problem , when socket error happened, some cleaning works should be done immediately
上级 3a883c97
......@@ -348,28 +348,27 @@ namespace ZPNetwork{
pSock->peerPort() <<tr("(%1)..Error :%2.").arg((quint64)pSock).arg(pSock->errorString());
emit evt_SocketError(pSock,socketError);
//emit evt_Message(pSock,"Debug:" + pSock->errorString());
// if (m_bSSLConnection)
// {
// QSslSocket * psslsock = qobject_cast<QSslSocket *>(pSock);
// if (psslsock)
// disconnect(psslsock, &QSslSocket::encrypted,this, &zp_netTransThread::on_encrypted);
// }
// disconnect(pSock, &QTcpSocket::readyRead,this, &zp_netTransThread::new_data_recieved);
// disconnect(pSock, &QTcpSocket::disconnected,this,&zp_netTransThread::client_closed);
// disconnect(pSock, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
// disconnect(pSock, &QTcpSocket::bytesWritten, this, &zp_netTransThread::some_data_sended);
// disconnect(pSock, &QTcpSocket::connected,this, &zp_netTransThread::on_connected);
// m_buffer_sending.erase(pSock);
// m_buffer_sending_offset.erase(pSock);
// m_mutex_protect.lock();
// m_clientList.remove(pSock);
// m_mutex_protect.unlock();
// pSock->abort();
// emit evt_ClientDisconnected(pSock);
// emit evt_Message(pSock,"Info>" + QString(tr("Client Closed.")));
pSock->disconnectFromHost();
// push_to_rabish_can(pSock);
if (m_bSSLConnection)
{
QSslSocket * psslsock = qobject_cast<QSslSocket *>(pSock);
if (psslsock)
disconnect(psslsock, &QSslSocket::encrypted,this, &zp_netTransThread::on_encrypted);
}
disconnect(pSock, &QTcpSocket::readyRead,this, &zp_netTransThread::new_data_recieved);
disconnect(pSock, &QTcpSocket::disconnected,this,&zp_netTransThread::client_closed);
disconnect(pSock, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
disconnect(pSock, &QTcpSocket::bytesWritten, this, &zp_netTransThread::some_data_sended);
disconnect(pSock, &QTcpSocket::connected,this, &zp_netTransThread::on_connected);
m_buffer_sending.erase(pSock);
m_buffer_sending_offset.erase(pSock);
m_mutex_protect.lock();
m_clientList.remove(pSock);
m_mutex_protect.unlock();
pSock->abort();
emit evt_ClientDisconnected(pSock);
emit evt_Message(pSock,"Info>" + QString(tr("Client Error, Closed.")));
//pSock->disconnectFromHost();
push_to_rabish_can(pSock);
}
}
......
......@@ -371,6 +371,7 @@ void ZPMainFrame::timerEvent(QTimerEvent * e)
QStringList lstCluster = m_pClusterTerm->SvrNames();
if (lstCluster.size()==0 && m_dtmLastClusterJoin.secsTo(QDateTime::currentDateTime())>=120)
{
m_pClusterTerm->netEng()->KickAllClients();
QSettings settings(this->m_currentConfigFile,QSettings::IniFormat);
QString strAddr = settings.value("history/clusterAddr","192.168.1.118").toString();
QString strPort = settings.value("history/clusterPort","25600").toString();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册