用2个通道编写自定义QIODevice

时间:2017-08-15 14:00:59

标签: c++ qt qiodevice

我正在尝试实现自定义QIODevice。

我有探测器,它将使用2个tcp套接字,一个用于发送命令和接收响应,另一个用于读取数据。

我该怎么办?我试图创建我的类,从QIODevice派生它并实现纯虚方法,但我遇到了一些困难。

我有以下代码:

qt documentation

基本上我的问题是,我如何处理这些渠道,因为例如来自bool QIODevice::open(OpenMode mode)我有这个

  

Open()

     

打开设备并将其OpenMode设置为模式。如果,则返回true   成功的;否则返回false。应该调用此函数   从open()或其他打开的函数的任何重新实现   设备

所以我必须从我的覆盖fig方法调用它,但是我看了一下这个方法的实现,我看到它将通道数设置为1.我怎么能改变这个数? / p>

我从QIODevice继承的那些缓冲区是什么,我应该如何使用它们?

我是否错过了创建自定义QIODevice的重点?如果是这样,请向我解释。

1 个答案:

答案 0 :(得分:0)

不太可能你需要在这里继承QIODevice,只需设计和实现你需要的语义接口,例如:

sendCommand();
responseReceived();
dataReady();
...
etc

QIODevice是从/向不同来源(如文件,套接字,串口等)读/写字节流的通用接口