首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QTcpSocket的readyRead()信号失灵的有关问题

2012-07-19 
QTcpSocket的readyRead()信号失灵的问题本小白最近在用Qt写Tcp/ip的通信,程序在linux的虚拟机上跑得挺溜的

QTcpSocket的readyRead()信号失灵的问题
本小白最近在用Qt写Tcp/ip的通信,程序在linux的虚拟机上跑得挺溜的,但出于其他需求换了win7平台后,Qt Creator一直无法通过编译(jom异常退出,原因暂时不明),所以用了vs2010来写,不过这下又跑出问题来了,自定义的槽connect(tcpSocket, SIGNAL(readyRead()),this,SLOT(update_message()));死也不理我.....用超级终端和TcpIP助手都试过了,槽完全没有被触发。似乎也有人遇到和我一样的问题,不过还是没有找到最可靠的答案,请各位大侠不吝赐教啊!

[解决办法]
connect返回的是bool值,你可以打个断点调试一下:
bool b=connect(tcpSocket, SIGNAL(readyRead()),this,SLOT(update_message()));
如果b为真,说明信号槽没有问题,然而槽函数没有响应,说明tcpSocket根本没有接收到数据,这样的话,你要检查客户端是否发送数据了
如果b为假,说明信号槽没有建立成功。

还有一种情况,就是你的connect在线程中

热点排行