首页| 论坛| 消息

标题:QtcpSocket获取客户端Ip地址问题
作者:zheguzai
日期:2013-11-21 11:05
内容:

写了一个多线程的Tcpserver程序,看到Qtcpsocket用peerAddress()函数可以获取连接后的客户端的ip地址,可是我用客户端连接后,获取到的地址和端口还有客户端名都是空的,什么问题啊 ??


下面是客户端连接时,服务端开启的线程函数,在这个函数里边获取的客户端地址都是空的
void MutipleThread::run()
{
socket = new QTcpSocket();
qDebug()


#1 [bugmenot2007 11-21 14:46]
socket对应的是new,而不是你当前正在连接的,可以把socket直接添加为private成员,然后直接使用即可
#2 [alan_gy 08-13 15:15]
setSocketDescriptor之后再获取
#3 [kenbe 08-14 14:11]
/* *.h*/
protected:
void incomingConnection(int handle);
/* *.cpp*/
void TcpServer::incomingConnection(int handle)
{
client = new QTcpSocket(this,handle);
client->setSocketDescriptor(handle);
emit ClientConnect(handle, client->peerAddress().toString(),client->peerPort());
}

回复 发表
主题 版块