void ServerCatchcopy::disconnected() { QLocalSocket *socket=qobject_cast<QLocalSocket *>(QObject::sender()); if(socket==NULL) { qWarning() << "Unlocated client socket!"; return; } int index=0; while(index<clientList.size()) { if(clientList.at(index).socket==socket) { const uint32_t &id=clientList.at(index).id; //ClientList.at(index).socket->disconnectFromServer();//already disconnected delete clientList.at(index).detectTimeOut; clientList.at(index).socket->deleteLater(); clientList.removeAt(index); emit disconnectedClient(id); return; } index++; } qWarning() << "Unlocated client!"; }
void ServerCatchcopy::disconnected() { QLocalSocket *socket=qobject_cast<QLocalSocket *>(QObject::sender()); if(socket==NULL) { qWarning() << "Unlocated client socket!"; return; } int index=0; while(index<ClientList.size()) { if(ClientList.at(index).socket==socket) { emit disconnectedClient(ClientList.at(index).id); disconnect(ClientList.at(index).socket); disconnect(ClientList.at(index).detectTimeOut); delete ClientList.at(index).detectTimeOut; ClientList.at(index).socket->abort(); ClientList.at(index).socket->disconnectFromServer(); ClientList.at(index).socket->deleteLater(); ClientList.removeAt(index); return; } index++; } qWarning() << "Unlocated client!"; }
void Network::newClient() { QTcpSocket *newClient = server->nextPendingConnection(); newClient->write(Utils::convertQString(AreaString::connectedMessage)); Utils::printConsole(AreaString::clientInfoMessage.arg(QDateTime::currentDateTime().toString(AreaString::dateTimeFormat), newClient->peerAddress().toString())); connect(newClient, SIGNAL(readyRead()), this, SLOT(readData())); connect(newClient, SIGNAL(disconnected()), this, SLOT(disconnectedClient())); clients << newClient; }