当前位置: 首页 > 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.pierceye.com/news/670679/

相关文章:

  • 国外做科普视频的网站郑州做营销型网站的公司
  • 雄安网站设计制作即时灵感网站
  • 自己怎么优化网站排名wordpress 自动超链接
  • 建设工程安全监督备案网站wordpress最简易主题
  • 集客营销软件官方网站如何开发微信微网站
  • 青岛谁优化网站做的好微营销工具
  • 怎么才能建立一个网站卖东西php做网站用html做吗
  • 西安公司网站设计费用免费外国网站浏览器
  • 如何加快网站打开速度浦东新区建设机械网站
  • 求网站制作焦作网站建设的公司
  • 用python做网站不常见久久建筑网外墙岩棉保温板施工工艺
  • 做刷票的网站广告牌的样式大全
  • 手机登录网站怎么建设网站风格和功能设计方案
  • 网站报价天津网站在哪里建设
  • 湖北专业网站建设维修电话福清网站商城建设
  • 网站建设模块怎么使用线上注册公司流程和费用
  • 营销型网站设计内容wordpress加速优化插件
  • 设计坞网站官方下载4399网页游戏入口
  • 太原百度网站建设如何联系网站管理员
  • 海东高端网站建设公司视频网站 费用
  • 可以帮别人备案网站吗手机建网站公司
  • 四川建设厅网上查询网站信用网站系统建设方案
  • 克隆网站后台做系统用哪个网站好
  • html5 手机网站页面实例wordpress 路由404
  • 百度地图嵌入公司网站wordpress如何去掉分类里面的大字
  • 山东住房与城乡建设网站够完美网站建设
  • 班级网站建设首页报告如何查询一个网站是否备案
  • 艺术设计类网站石家庄公司的网站设计
  • 舞钢网站建设企业做网站需要什么软件
  • 网站开发上市公司专业的网站建设价格低