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

一级建造师报考条件2022考试时间网站优化师招聘

一级建造师报考条件2022考试时间,网站优化师招聘,建立专业的官方网站,免费传奇网页游戏目录 1、摘要2、理解自反传输2、解决方案2.1、使用 DataReaderListener 进行过滤3.2、使用 Partition 进行隔离3.3、 使用不同的 Topic 总结 1、摘要 在 OpenDDS 中#xff0c;同时订阅并发布同一主题会导致自环现象#xff0c;即接收到自己发送的消息。本文介绍… 目录 1、摘要2、理解自反传输2、解决方案2.1、使用 DataReaderListener 进行过滤3.2、使用 Partition 进行隔离3.3、 使用不同的 Topic 总结 1、摘要 在 OpenDDS 中同时订阅并发布同一主题会导致自环现象即接收到自己发送的消息。本文介绍了在 OpenDDS 中避免自环现象的解决方案主要包括使用 DataReaderListener 进行过滤和使用 Partition 进行隔离的方法。通过这些方法可以在应用层面有效地控制数据的接收确保数据的正确处理提高系统的稳定性和可靠性。 2、理解自反传输 在 OpenDDS 中如果你订阅并且发布了同一个主题会导致你收到自己发布的消息这是正常的行为。这种情况通常称为 “自反传输” 或 “自环”是 DDS 规范的一部分。 2、解决方案 2.1、使用 DataReaderListener 进行过滤 在 DataReaderListener 中可以实现对接收到的数据进行过滤避免处理自己发送的消息。你可以在 on_data_available 回调中检查接收到的数据的源头然后决定是否处理。这样可以在应用层面进行控制。 示例代码 在创建MyDataReaderListener 的时候将writerHandle传入进来。这里我的MyDataReaderListener 一个实例化对应一个主题。具体你还需要根据的场景进行修改。 class MyDataReaderListener : public virtual DDS::DataReaderListener { public:MyDataReaderListener ( DDS::InstanceHandle_t writerHandle),m_dataWriterHandle{writerHandle}{}virtual void on_data_available(DDS::DataReader_ptr reader) {MyDataReader_var myReader MyDataReader::_narrow(reader);if (!CORBA::is_nil(myReader.in())) {MyDataSeq dataSeq;DDS::SampleInfoSeq infoSeq;// 读取数据myReader-take(dataSeq, infoSeq, DDS::LENGTH_UNLIMITED, DDS::ANY_SAMPLE_STATE, DDS::ANY_VIEW_STATE, DDS::ANY_INSTANCE_STATE);for (DDS::ULong i 0; i dataSeq.length(); i) {// 检查数据源if (infoSeq[i].valid_data false isFromLocalPublisher(info_seq[i])) {// 处理数据}}}}virtual bool isFromLocalPublisher(const DDS::SampleInfo info) {// 这里可以根据其他属性来判断是否是本地 Publisher 发布的数据// 比较dataWriter 的句柄等return (info.publication_handle ! DDS::HANDLE_NIL info.publication_handle m_dataWriterHandle);}private:DDS::InstanceHandle_t m_dataWriterHandle; // 本地 DataWriter 的实体ID };// writerHandle 的获取方式 writerHandle dataWriter-get_instance_handle(); 3.2、使用 Partition 进行隔离 在 OpenDDS 中可以使用 Partition 来实现数据的隔离使得一组 DataReader 和 DataWriter 只能收到和发送特定 Partition 的数据。你可以为你的 DataReader 和 DataWriter 指定不同的 Partition这样就能确保一个 DataReader 不会接收到自己发送的消息。 示例代码 DDS::DataReaderQos readerQos; DDS::PublisherQos publisherQos;// 设置 DataReader 和 DataWriter 的 Partition readerQos.partition.name.length(1); readerQos.partition.name[0] MyPartition1;publisherQos.partition.name.length(1); publisherQos.partition.name[0] MyPartition2; 3.3、 使用不同的 Topic 如果你的应用场景允许可以考虑使用不同的 Topic 来区分你发布和订阅的数据。这样即使你同时订阅和发布相同的 Topic由于数据的内容或属性不同也可以区分出自己发送的消息和其他人发送的消息。 总结 以上是一些常见的方法你可以根据你的实际需求和应用场景选择合适的方法来避免接收到自己发送的消息。无论选择哪种方法都需要根据你的需求进行合适的配置和处理。
http://www.zqtcl.cn/news/670679/

相关文章:

  • 珠宝 网站模板如何做公司官网
  • 贵阳网站制作免费iis7.5网站权限配置
  • 温州网站建设专业的公司移动互联网开发学什么专业
  • 集团企业网站建设方案运动服饰网站建设项目规划书
  • 简述网站建设的一般步骤简约的网站建设
  • wordpress删除用户头像昆明做网站优化的公司
  • 西安响应式网站网页设计的模板
  • 古装衣服店网站建设页面网站执行速度
  • 哪里的网站建设哈尔滨网络优化推广公司
  • 给网站做友情链接凡科网干嘛的
  • 网站经常出现502牧星网站建立
  • 个人网站建设的收获dw网站导航怎么做
  • 徐州网站设计快速排名网站
  • dede手机网站跳转口碑营销平台
  • 开一个素材设计网站怎么做的网页传奇手机版
  • 网站开发后端框架什么意思树莓派3 部署wordpress
  • 站长之家最新域名查询合肥网站建设5k5
  • h5做网站什么软件北京公司注销流程及费用
  • 淮北市相山区建设局网站合肥比较好的网站制作
  • 松岗营销型网站建设公司网站需要服务器吗
  • 图书馆网站信息化建设中国seo第一人
  • 域名网站负责人的责任一键制作单页网站
  • 南宁建设局网站建设有限公司
  • 湛江建设工程交易中心网站企业营销网站建设步骤
  • 网站所有者查询罗湖做网站的公司
  • 网站推广的目标是什么如何提高网站在百度的排名
  • 建设网站基础wordpress 网络图片
  • 深圳网站搜索优化工具义乌公司网站
  • 百度搜索网站带图片sem是什么品牌
  • 百度网盘app下载辽宁seo