Проблема
Я не могу получить дополнительную информацию об этой ошибке:
QAbstractSocket::UnknownSocketError
QT QAbstractSocket::SocketError дает только базовое объяснение того, что произошла какая-то ошибка
Произошла неизвестная ошибка.
перечисляемое значение = -1
Вызов QTcpSocket::errorString() дает следующее:
"Unknown error"
Существует один вопрос относительно этого здесь, на SO, но не дает реального решения проблемы (и что было предложено, я сделал )
Я совершенно не знаю, как дальше работать с этой ошибкой, поскольку каждый раз, когда мой клиент пытается подключиться (после вызова connectToHost()) Я получаю эту ошибку.
Код:
//Сервер
//...
if (tcpServer.listen(QHostAddress().AnyIPv4, 5000)) {
qDebug() << "tcpserver started on port : 5000";
}
else{
qDebug() << "tcpserver failed to start";
}
//...
Я также явно установил IP-адрес сервера на localhost и порт 5000, но безуспешно.
//Клиент
//...
tcp_con = new QTcpSocket(new QObject());
tcp_con->connectToHost("127.0.0.1", 5000);
switch (tcp_con->error()) {
//...
case QAbstractSocket::UnknownSocketError:
qDebug() << "tcp error UnknownSocketError closed : " << tcp_con->errorString();
return;
//...
}
Вывод отладки клиента:
tcp error UnknownSocketError closed : "Unknown error"
Любой совет?
пс. Я искал какую-нибудь опцию stacktrace/backtrace, ничего не нашел — если есть, оставьте комментарий
new QTcpSocket(new QObject());
выглядит странно - person Vladimir Bershov   schedule 04.02.2017new QTcpSocket(this)
, гдеthis
— этоQDialog
. ИQDialog
косвенно наследуетQObject
. - person CybeX   schedule 04.02.2017tcp_con
переменная - person Vladimir Bershov   schedule 04.02.2017error()
сразу послеconnectToHost()
, когда еще ничего не произошло. Вместо этого я бы рекомендовал подключиться к сигналуerror()
и выполнить там обработку ошибок. - person Kevin Krammer   schedule 05.02.2017