相关疑难解决方法(0)

QT:无法从另一个线程启用套接字通知程序

我有一个QTcpSocket,我需要控制它 - 使用多个线程写入+读取.

这在QT4中工作正常,但在QT5中我收到此错误,似乎只有1个线程同时访问套接字.如何让多个线程访问套接字?

基本上我想创建1个用于读取的线程和1个用于写入数据的线程,这样我就可以在其他应用程序中执行其他操作时异步读取和处理数据.

注意:回答Qt - 在新线程处理QTcpSocket对此没有帮助,因为它描述了如何将套接字从线程1传输到线程2,然后仅从线程2使用它.我需要从两个线程中使用它.

c++ sockets qt multithreading

8
推荐指数
1
解决办法
2万
查看次数

6
推荐指数
3
解决办法
5161
查看次数

在启动连接后将QTcpSocket移动到新线程

我有一个线程服务器.

需要在需要运行的线程上创建QTcpSocket,FI:Qt -通过传递套接字描述符在新线程中处理QTcpSocket.

我的问题是,我需要有一个线程池并在特定线程上移动套接字在客户端发送了一个特定的令牌后,该令牌定义了套接字需要的线程.

换句话说,我需要读取套接字以了解预先放置它的线程.

一些想法是首先绑定到QTcpSocket,读取,然后将描述符发送到线程并创建另一个QTcpSocket,但文档说:

注意:无法使用相同的本机套接字描述符初始化两个抽象套接字.

另一个解决方案是在一个单独的线程中创建套接字,然后将两个线程连接在一起,但我不知道是否可能.

或者也许能够在子线程上调用setSocketDescriptor之前读取主线程上的套接字描述符,如果可能的话?

qt qthread qtcpsocket

6
推荐指数
1
解决办法
940
查看次数

标签 统计

qt ×3

c++ ×2

multithreading ×2

qt4 ×1

qtcpsocket ×1

qthread ×1

sockets ×1

tcp ×1