• 6304阅读
  • 3回复

如何用主线程建立的SOCKET在子线程中接收数据啊? [复制链接]

上一主题 下一主题
离线oscarboycn
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-31
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
主线程:(建立连接)
QTcpSocket* client = new QTcpSocket(this);//TCPSOCKET类
client->connectToHost("127.0.0.1",9999);//192.168.0.3//连接主机

connect(client,SIGNAL(connected()),this,SLOT(loadlinkpic()));//连接成功则状态灯亮
connect(client,SIGNAL(disconnected()),this,SLOT(loaderrorpic()));//连接失败则状态灯灭

子线程:(断线则重新建立连接 + 接收数据)
在子线程run()中,如果使用了主线程传入的client指针,则disconnected()信号不会触发loaderrorpic()槽函数,且报错


[ 此帖被oscarboycn在2010-03-31 16:35重新编辑 ]
http://www.21ic.com
http://bbs.eetop.cn
http://www.eetop.cn/
http://www.eet-china.com/
http://www.netyi.net/
http://www.pcbbbs.com/
http://www.pcbtech.net/
离线xtfllbl

只看该作者 1楼 发表于: 2010-03-31
你这个字体是存心不让人看阿,眼花了,只能打酱油路过了
上海欢迎您
离线oscarboycn

只看该作者 2楼 发表于: 2010-03-31
改了,呵呵,师兄帮忙看看
http://www.21ic.com
http://bbs.eetop.cn
http://www.eetop.cn/
http://www.eet-china.com/
http://www.netyi.net/
http://www.pcbbbs.com/
http://www.pcbtech.net/
离线xtfllbl

只看该作者 3楼 发表于: 2010-03-31
线程中使用信号。。尽量不要使用

可以考虑换成事件

论坛里有很多关于线程中接受信号问题的帖子
上海欢迎您
快速回复
限100 字节
 
上一个 下一个