1
我遇到了一个奇怪的问题。当我尝试连接时,例如127.0.0.1:8080
上的离线服务器,套接字信号发出“错误”,因为它应该,但是当我连接到127.0.0.10:8080
或127.123.4.5:8080
信号不会发出错误。有什么问题,以及如何捕捉失败的连接错误?QTcpSocket不会发出错误信号
代码1:
remote_server = new Server(nickname, ip, port); connect(remote_server, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(connection_failed(QAbstractSocket::SocketError))); remote_server->establish_connection();
代码2:
master_socket = std::move( std::unique_ptr<QTcpSocket>(new QTcpSocket(nullptr)) ); connect(master_socket.get(), SIGNAL(error(QAbstractSocket::SocketError)), SIGNAL(error(QAbstractSocket::SocketError))); master_socket->connectToHost(ip.c_str(), port); master_socket->waitForConnected(2000);
如果您的服务器回送接口(这是127.0.0.1/8)在听我的话你都地址(127.0.0.10,127.123.4.5)将启动并可用。你能否提供“netstat -nap | grep LISTEN”输出来澄清你的问题? –