QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "169.254.7.71"
时间: 2024-03-16 17:46:42 浏览: 42
当你在使用 `QAbstractSocket` 的 `connectToHost()` 函数连接服务器时,如果当前状态是正在连接或已连接,则会出现这个错误。这个错误通常发生在你重复调用 `connectToHost()` 函数时,或者当前正在进行的连接尚未完成就调用了 `connectToHost()` 函数。
解决这个错误的方法是在调用 `connectToHost()` 函数之前检查当前状态。你可以使用 `QAbstractSocket` 的 `state()` 函数获取当前状态,然后根据状态来决定是否调用 `connectToHost()` 函数。以下是一个简单的例子:
```c++
#include <QTcpSocket>
#include <QHostAddress>
int main()
{
QTcpSocket socket;
QString ipAddress = "192.168.1.1";
quint16 port = 1234;
if(socket.state() == QAbstractSocket::UnconnectedState)
{
socket.connectToHost(QHostAddress(ipAddress), port);
}
return 0;
}
```
在上面的代码中,我们首先创建了一个 `QTcpSocket` 对象,然后使用 `state()` 函数检查当前状态是否为 `UnconnectedState`,即未连接状态。如果当前状态为未连接状态,我们就调用 `connectToHost()` 函数连接服务器。如果当前状态为已连接状态,我们就不再调用 `connectToHost()` 函数,避免出现错误。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)