如何在QNetworkAccessManager中创建自定义QTcpSocket类?
我想编写一个简单的客户端 - 服务器应用程序,它将使用HTTP协议进行通信。 它将是一个简单的http Web服务器,带有QTcpServer和带有QWebView和QTcpSocket的简单Web浏览器。 该应用程序将在一个进程中具有两个线程。服务器的一个线程和客户端的一个线程。客户端将使用HTTP协议与服务器通信。 在这种情况下,服务器和客户端之间的通信(使用HTTP)通过网络进行。
我想组织服务器和客户端之间的通信(使用HTTP),通过一些进程间通信(IPC)。例如dbus或任何。因为HTTP是文本协议,我们可以通过网络或dbus或任何IPC将文本数据发送到服务器。 我想通过IPC为我的应用程序组织HTTP通信,因为我在没有root权限的计算机上工作,并关闭所有未使用的端口和接口(包括回送)。如果QNetworkAccessManager使用网络进行HTTP请求,我很清楚。
是否有可能在QT框架中创建MyCustomQTcpSocket,它将继承自QTcpSocket类?并且MyCustomQTcpSocket将数据写入dbus(或任何IPC)而不是TCP套接字
我认为如果我们可以创建自定义(例如MyQNetworkAccessManager)QNetworkAccessManager,并在为QWebView分配MyQNetworkAccessManager之后,我们就可以创建自定义(例如MyCustomQTcpSocket)QTcpSocket并为MyQNetworkAccessManager分配MyCustomQTcpSocket。
我知道我们可以从QNetworkAccessManager创建自定义MyQNetworkAccessManager并实现我们自己的createRequest方法,但是如果这样做,我们还需要创建自己的QNetworkReply类实现,自己实现槽和信号以及其他依赖。
如果我们创建自定义QTcpSocket类,我们将能够将文本数据从网络重定向到dbus(或任何IPC),我们将能够减少自己的依赖关系(如自己的QNetworkReply,信号,插槽)。