使用QAbstractSocket::UnknownSocketError
时,QTcpSocket
会导致什么原因?
CODE
我使用以下代码获取此错误代码:
this->connect(socket, SIGNAL(socketError(QAbstractSocket::SocketError)), SLOT(handleSocketError(QAbstractSocket::SocketError)));
...
void MyClass::handleSocketError(QAbstractSocket::SocketError error)
{
qDebug() << error;
}
更多信息
QTcpSocket正在尝试连接到某个远程主机。它失败了,提到了错误代码。
答案 0 :(得分:2)
如果你阅读了代码,你会发现这个错误正是它所说的:“发生了一些不好的事情,我不知道为什么”。当然,必须有例外:
src/network/socket/qabstractsocket.cpp
)src/network/ssl/qsslsocket_openssl.cpp
)在这两种情况下,errorString都设置为适当的消息。
答案 1 :(得分:0)
当没有错误时,你可能会调用error()
函数。
答案 2 :(得分:0)
在Qt源中查找AbstractSocketError会产生很多命中。当你得到error()信号时,可能会启动调试器并查看回溯。可能是在底层套接字引擎(这是一个Qt内部类)中出现异乎寻常的错误情况。
答案 3 :(得分:0)
远程主机是否需要ssl连接?如果您的Qt副本无法加载libssl,则可能会出现问题。当Qt找不到libssl
时,我遇到了同样的问题(UnkownSocketError)