毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

socket notifiers cannot be enabled from another thread

更新时间:2013-3-1:  来源:毕业论文

用QTcpSocket实现的客户端.
要求:
1,有一个线程不停的等待接收这个socket的数据(有数据一到,就接收,然后写入一个全局变量(QString)中).
2, 要求主线程,可以对这个socket发送数据.

我自己写,老是出现socket notifiers cannot be enabled from another thread.
class SocketThread : public QThread {     Q_OBJECT public:     explicit SocketThread(QObject *parent = 0): QThread(parent) {} public:     void run() 毕业论文 {         m_pClient = new QTcpSocket();         m_pClient->connectToHost("127.0.0.1", 8866);         if (m_pClient->waitForConnected(5000)) {             qDebug() << "sokcet thread connected";             //sendData("GetMember");         }         QThread::exec();     }   public slots:     void  recvData() {         QByteArray arr = m_pClient->readAll();         QString recvStr(arr);         qDebug() << "socket thread::recvData: " << recvStr;           gRecvDataStr.append(recvStr);     }     void  sendData(QString sendStr) { m_pClient->write(sendStr.toStdString().c_str()); } public:     QTcpSocket *m_pClient; };

 //调用     SocketThread *p = new SocketThread();     p->start();     Sleep(300);     p->sendData("GetMember");

试下 movetothread

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。