QT程序socket的readyRead信号不触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT程序socket的readyRead信号不触发相关的知识,希望对你有一定的参考价值。
我写了一个qt网络程序,在程序里有一个线程thread,thread的run中new了一个qtcpsocket。
代码很长,我大概意思一下:
run()
socket = new QTcpSocket();
connect(socket,SIGNAL(readyRead()),this,SLOT(onRead()));
while(1)
死循环
编译通过以后,运行时发现readyRead信号根本没有发出,但是用端口监听工具可以看到这个socket是有接收到数据的。
是否跟死循环有关?不改变线程的死循环结构的话,我应该怎样做才能让socket发出readyRead信号?
这是qtcpsocket不是qtcpserver,不需要listen的吧。
这个死循环是功能决定的,没办法。
m_tcpSocket = m_tcpServer->nextPendingConnection(); //得到每个连进来的socket
自己看吧,
以上是关于QT程序socket的readyRead信号不触发的主要内容,如果未能解决你的问题,请参考以下文章
接收不到 QTcpSocket 的 readyRead 信号?