当前位置: 首页 > news >正文

手机网站重要性湖北十大建筑公司排名

手机网站重要性,湖北十大建筑公司排名,网络营销专业咋样,服务器2003怎么做网站简介 Qt Remote Objects (QtRO) 是 Qt 的一个进程间通信模块。 术语 Source 是指提供服务或提供功能供其他程序使用的对象,是 RPC 中的被调用端。 Replica 是指 Source 对象的代理对象,用于 RPC 中的调用端,对 Replica 的调用请求将被转发…

简介

Qt Remote Objects (QtRO) 是 Qt 的一个进程间通信模块。

术语

Source 是指提供服务或提供功能供其他程序使用的对象,是 RPC 中的被调用端。

Replica 是指 Source 对象的代理对象,用于 RPC 中的调用端,对 Replica 的调用请求将被转发给 Source 对象。

示例1:Direct Connection using a Static Source

创建接口定义文件

创建接口定义文件 simpleswitch.rep :

class SimpleSwitch
{PROP(bool currState=false);SLOT(server_slot(bool clientState));
};

修改 .pro 文件

// 引入 QtRO 模块
QT += remoteobjects
// 引入接口定义文件
REPC_SOURCE = simpleswitch.rep

Qt 将使用 repc 工具编译该接口定义文件生成 C++ 代码。

生成的文件:

  • rep_simpleswitch_source.h
  • rep_simpleswitch_replica.h

rep_simpleswitch_source.h 用于 Source 端,需要继承其中的接口类,实现其中的虚函数。

rep_simpleswitch_replica.h 用于 Replica 端,是 Source 对象的代理对象。

Source 端

实现 rep_simpleswitch_source.h 中接口类的虚函数,作为服务对象。

创建服务对象,并设置为可远程访问:

SimpleSwitch srcSwitch; // create simple switchQRemoteObjectHost srcNode(QUrl(QStringLiteral("local:replica"))); // create host node without Registry
srcNode.enableRemoting(&srcSwitch); // enable remoting/Sharing

Replica 端

连接到服务端:

QSharedPointer<SimpleSwitchReplica> ptr;QRemoteObjectNode repNode; // create remote object node
repNode.connectToNode(QUrl(QStringLiteral("local:replica"))); // connect with remote host nodeptr.reset(repNode.acquire<SimpleSwitchReplica>()); // acquire replica of source from host node

获取到 SimpleSwitchReplica 对象指针之后,就可以像使用普通 Qt 对象那样使用该对象,该对象拥有和服务对象相同的接口函数(信号函数、槽函数等)。

客户端也可以不使用 rep_simpleswitch_replica.h ,而是使用 QRemoteObjectDynamicReplica 类来动态地与服务对象交互。

示例2:Connections to Remote Nodes using a Registry

第一个示例是采用直接连接的方式,即代理对象直接连接到服务对象。

另一种方式是使用注册中心,此时服务对象将自己注册到服务中心,客户端连接到注册中心,然后获取指定服务对象的代理对象。

服务端:

// 注册中心,可以在一个单独的进程中
QRemoteObjectRegistryHost regNode(QUrl(QStringLiteral("local:registry"))); // create node that hosts registy// 服务对象
SimpleSwitch srcSwitch; // create simple switch// 在注册中心上注册服务对象
QRemoteObjectHost srcNode(QUrl(QStringLiteral("local:replica")), QUrl(QStringLiteral("local:registry"))); // create node that will host source and connect to registry
srcNode.enableRemoting(&srcSwitch); // enable remoting of source object

客户端:

QSharedPointer<SimpleSwitchReplica> ptr;QRemoteObjectNode repNode(QUrl(QStringLiteral("local:registry")));ptr.reset(repNode.acquire<SimpleSwitchReplica>()); // acquire replica of source from host node
http://www.yayakq.cn/news/261165/

相关文章:

  • 定位网站关键词网站备案是干嘛的
  • 民权平台网站建设中华香烟网上商城
  • 中国移动app免费下载网站排名优化技巧
  • 做团购网站有什么难处网页模板psd
  • 万州网站建设公司浙江公司网站建设推广
  • 企业建设网站目的是什么意思广州万户网络
  • 咨询行业网站建设公司中国档案网站建设的特点
  • html 网站开发软件怎么用vs做网站开发
  • 南通网站制作计划网站设计内容包括
  • 织梦网站 数据库linux服务器做网站
  • 哪些网站收录排名好网站建设定制开发服务
  • 禹城做网站的网站专题页做多大尺寸
  • 网站备案 新闻类前置审批摄影网站源码下载
  • 网站开发及设计兰州构建公司
  • 江苏省建设厅网站是互动游戏制作软件
  • 网站开发相关网站特效怎么做的
  • 网站底部广告国内购物网站案例分析
  • 做网站必须备案吗wordpress 当前用户所有评论
  • 免费自助建站软件有哪些景观设计公司排名前十强
  • 花卉网站建设策划武进建设局网站
  • 在百度里面做网站要多少钱玉环 网站建设
  • 深圳龙华做网站的找专题页面那个网站好
  • 电子商务网站建设与维护试卷WordPress的文本编辑器
  • 一般网站建设大概需要多少钱广州学网站建设
  • 宁波公司核名网站百度站内搜索 wordpress
  • 网站返回首页按钮珠海高端企业网站
  • 门户网站价格wordpress 搭建 查分系统
  • 网站推广员需要做什么wordpress刷新错位
  • 手机wap网站多少钱常用的关键词挖掘工具有哪些
  • 广州 网站建设wordpress xmlrpc api