qt sock 获取真实IP
时间: 2023-11-13 15:02:23 浏览: 45
如果您想要在Qt中获取客户端的真实IP地址,您可以使用QTcpSocket类的peerAddress()方法。这个方法可以返回一个QHostAddress对象,该对象包含了客户端的IP地址。
以下是一个示例代码,演示如何使用peerAddress()方法获取客户端的真实IP地址:
```cpp
#include <QTcpSocket>
#include <QHostAddress>
// ...
QTcpSocket* socket = new QTcpSocket(this);
// Connect to the client
socket->connectToHost("client_ip_address", port_number);
// Wait for the connection
if (socket->waitForConnected()) {
// Client connected, get the IP address
QHostAddress address = socket->peerAddress();
QString ip_address = address.toString();
// Do something with the IP address
qDebug() << "Client IP address: " << ip_address;
} else {
// Connection failed
qDebug() << "Connection failed!";
}
```
请注意,这个方法只能获取客户端的IP地址。如果客户端通过代理服务器连接到您的服务器,那么您可能需要考虑使用其他方法来获取客户端的真实IP地址。