本小白最近在用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在线程中