QAbstractSocket :: UnknownSocketError

时间:2009-12-11 03:24:12

标签: c++ qt sockets qt4

使用QAbstractSocket::UnknownSocketError时,QTcpSocket会导致什么原因?


CODE

我使用以下代码获取此错误代码:

this->connect(socket, SIGNAL(socketError(QAbstractSocket::SocketError)), SLOT(handleSocketError(QAbstractSocket::SocketError)));
...
void MyClass::handleSocketError(QAbstractSocket::SocketError error)
{
    qDebug() << error;
}

更多信息

QTcpSocket正在尝试连接到某个远程主机。它失败了,提到了错误代码。

4 个答案:

答案 0 :(得分:2)

如果你阅读了代码,你会发现这个错误正是它所说的:“发生了一些不好的事情,我不知道为什么”。当然,必须有例外:

  • 套接字未连接到服务器,您尝试写入它(第2025行src/network/socket/qabstractsocket.cpp
  • 发生了SSL错误(很多地方src/network/ssl/qsslsocket_openssl.cpp

在这两种情况下,errorString都设置为适当的消息。

答案 1 :(得分:0)

当没有错误时,你可能会调用error()函数。

答案 2 :(得分:0)

在Qt源中查找AbstractSocketError会产生很多命中。当你得到error()信号时,可能会启动调试器并查看回溯。可能是在底层套接字引擎(这是一个Qt内部类)中出现异乎寻常的错误情况。

答案 3 :(得分:0)

远程主机是否需要ssl连接?如果您的Qt副本无法加载libssl,则可能会出现问题。当Qt找不到libssl

时,我遇到了同样的问题(UnkownSocketError)