Пишу сервер на сокетах , ввёл вывод ошибки в консоль.
При отключении каждого клиента выводит пустую ошибку , в дебагере тоже пустая.
bool EchoServer::start() {
if ( !listen(QHostAddress::Any, 5678) ) {
cout << STR(QObject::tr("Не могу запустить сервер: %1\n")
.arg( errorString() )+0x0d+0x0a );
return false;
}
connect(this, SIGNAL(newConnection()), this, SLOT(addConnection()));
cout << STR(QObject::tr("Сервер запущен\n")+0x0d+0x0a);
return true;
}
void EchoServer::addConnection()
{
QTcpSocket *client = nextPendingConnection();
connect(client, SIGNAL(disconnected()),
this, SLOT(removeConnection()));
connect(client, SIGNAL(readyRead()), this, SLOT(onRead()));
connect(client, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(displayError(QAbstractSocket::SocketError)));
void EchoServer::removeConnection(){
QTcpSocket *client = qobject_cast<QTcpSocket*>(sender());
QHostAddress addr = client->peerAddress();
cout << STR(QObject::tr("Клиент %1 отключен\n")
.arg( addr.toString() )+0x0d+0x0a);
m_clients.removeAt(m_clients.indexOf(client));
client->deleteLater();
}
void EchoServer::displayError(QAbstractSocket::SocketError)
{
cout << STR(QObject::tr("\nОшибка %1\n").arg(errorString()));
}
Как проверить отчего она возникает? на запрос serverError возвращает -1 - An unidentified error occurred.