• 3111阅读
  • 0回复

关于QtcpSver开发多线程服务器问题 [复制链接]

上一主题 下一主题
离线zheguzai
 

只看楼主 正序阅读 楼主  发表于: 2014-06-04
现在开发了一个QtcpServer的多线程程序,当有新的客户端连接的时候就会新开一个线程,现在的情况是新的客户端连接到服务器的时候线程可以开,也可以给服务端发送数据,可以当服务端发送数据的时候,就会报错,具体错误如下,


QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNativeSocketEngine(0xc6e1ce0), parent's thread is MutipleThread(0xc6bbd88), current thread is QThread(0x3f7520)


程序界面是这样的




新的客户端来了之后,会显示在旁边的列表里,如果开多个客户端,就会有多条显示,客户端可以正常给服务端发送数据,
可是在列表中选择好客户端之后,给客户端发送数据的时候会报这个错误,大概意思是说要创建的对象和父对象不在一个线程里
,试了好久都不行




在界面上选择好客户端输入文字发送的时候,是通过信号与槽实现的,可是主界面和客户端显示是不在线程里的,
connect(主界面对象,SIGNAL(发送数据给客户端线程),客户端线程,SLOT(将接受到的数据发送给客户端))


这个问题应该怎么解决呢?
有碰到过的么?
快速回复
限100 字节
 
上一个 下一个