Qt Remote Objects provides several abstract interfaces for implementing custom transport backends. The concept behind these classes is that there needs to be a host node, which has an address that can be connected to. Then there is a client object, which can be publicly constructed, and can connect to the server. When the server gets a connection request, it creates the server side of the connection, which communicates directly with the client. There are thus three abstractions, one for the server (
QConnectionAbstractServer
), one for the client-side of the connection (
QtROClientIoDevice
), and the third for the server-side of the connection (
QtROServerIoDevice
). The latter two inherit from
QtROIoDeviceBase
.
QtROIoDeviceBase
QtROClientIoDevice
QtROServerIoDevice
QConnectionAbstractServer
After implementing these interfaces, you can register your custom protocol using the qRegisterRemoteObjectsServer () 和 qRegisterRemoteObjectsClient () 方法。
注意: These APIs are provided to give more flexibility for implementing custom communication protocols for Qt Remote Objects. There are no source or binary compatibility guarantees for them, meaning that the API is only guaranteed to work with the Qt version it was developed against. API changes will however only be made in minor releases. (6.1, 6.2, and so on.)