<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pony12的专栏]]></title><description><![CDATA[IT12载，专注中间件，钟情C语言]]></description><link>https://blog.youkuaiyun.com/pony12</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pony12]]></copyright><item><title><![CDATA[OpenDDS性能测试框架Bench]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/156132197</link><guid>https://blog.youkuaiyun.com/pony12/article/details/156132197</guid><author>pony12</author><pubDate>Sun, 21 Dec 2025 18:08:34 +0800</pubDate><description><![CDATA[OpenDDS性能测试框架Bench通过配置文件实现消息传输协议和测试场景的配置，支持TCP、UDP等多种协议。测试配置分为传输协议（通过transport-*.ini文件设置）和测试场景（定义发布/订阅端数量及参数）两类。Latency测试通过配置不同大小的数据包（50-32000字节）测量消息延时，测试过程需启动DCPSInfoRepo服务并分别运行发布端和订阅端程序。测试支持自动化脚本（run_test.pl）或手工方式执行，要求测试双方协议和消息大小保持一致。]]></description><category></category></item><item><title><![CDATA[DDS网络传输报文解析]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/155914795</link><guid>https://blog.youkuaiyun.com/pony12/article/details/155914795</guid><author>pony12</author><pubDate>Sun, 14 Dec 2025 16:52:56 +0800</pubDate><description><![CDATA[OpenDDS数据传输解析：遵循DDSv1.4规范，采用Header+Body封装方式。网络报文由TransportHeader（28字节）和DataSample组成，后者包含DataSampleHeader（40字节）和实际数据（如1024个A）。一个DataSampleList可包含多个DataSampleElement，每个元素独立封装样本数据。系统日志会记录传输过程中的详细报文信息，便于逐层解析网络传输内容。]]></description><category></category></item><item><title><![CDATA[OpenDDS绿色安装包（运行版、开发版）]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/155913932</link><guid>https://blog.youkuaiyun.com/pony12/article/details/155913932</guid><author>pony12</author><pubDate>Sun, 14 Dec 2025 15:32:37 +0800</pubDate><description><![CDATA[OpenDDS作为开源DDS实现，在关键领域应用广泛但学习曲线陡峭。本文介绍如何定制OpenDDS绿色安装包，包含运行版和开发版两种类型，支持C++/Java语言及Windows/Linux平台。安装包制作涉及ACE+TAO和OpenDDS代码编译（需1-10天不等），最终打包为包含动态库、可执行文件和配置文件的绿色版本。用户可根据需求定制不同版本组合（支持OpenDDS V3.8-V3.33、多种编译器和JDK版本），大幅节省环境搭建时间（新手可缩短10天周期）。提供完整的安装脚本和开发文件目录结构，帮助]]></description><category></category></item><item><title><![CDATA[OpenDDS针对不同网段和防火墙环境的配置策略]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/155890920</link><guid>https://blog.youkuaiyun.com/pony12/article/details/155890920</guid><author>pony12</author><pubDate>Sat, 13 Dec 2025 18:33:41 +0800</pubDate><description><![CDATA[本文介绍了OpenDDS在不同网络环境下的通信配置策略，重点分析跨网段和防火墙场景。OpenDDS支持RTPS对等发现和Repo集中发现两种模式，分别使用不同的端口配置：RTPS模式下涉及组播地址239.255.0.1/7400和单播端口7410等，Repo模式则通过TCP端口12345进行集中发现。针对防火墙环境，文章详细列出了各层通信所需的端口开放规则，包括UDP/TCP协议的入站端口设置，并提供了关键配置参数如SpdpSendAddrs、local_address等的使用方法。这些配置策略可帮助实现复]]></description><category></category></item><item><title><![CDATA[OpenDDS运行配置可编程化]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/152174044</link><guid>https://blog.youkuaiyun.com/pony12/article/details/152174044</guid><author>pony12</author><pubDate>Sat, 27 Sep 2025 18:57:33 +0800</pubDate><description><![CDATA[OpenDDS运行，需要配置信息，包括发现配置信息、传输配置信息，这些信息可以通过配置文件来设置、也可以通过编程来实现配置。
OpenDDS运行配置可编程化，能够适应应用系统传输网络的动态化、实时化，具有非常好的灵活性：]]></description><category></category></item><item><title><![CDATA[DDS（数据分发服务）WorkShop]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/145259526</link><guid>https://blog.youkuaiyun.com/pony12/article/details/145259526</guid><author>pony12</author><pubDate>Mon, 20 Jan 2025 12:04:18 +0800</pubDate><description><![CDATA[DDS工作室成员，10多年在DDS技术规范、原理、多个DDS实现（商业化如RTI、CoreDX、OpenSplice或开源OpenDDS、CycloneDDS、FastDDS）深耕，了解和掌握了大中型业务系统中使用DDS定义业务间通信框架或构建系统间通信总线和服务的机制，能给广大DDS爱好者、DDS应用者、DDS研究者和创新者朋友提供第一手、面对面、有深度和精湛的技术和理论指导。DDS工作室承诺，把你的需求交给我们，我们将还你一个清朗的DDS前途！]]></description><category></category></item><item><title><![CDATA[DDS采样记录Recorder和发布重放Replayer]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/144405322</link><guid>https://blog.youkuaiyun.com/pony12/article/details/144405322</guid><author>pony12</author><pubDate>Wed, 11 Dec 2024 17:06:40 +0800</pubDate><description><![CDATA[OpenDDS提供了采集记录Recorder和发布重放Replayer功能，采集记录Recorder允许应用程序记录在任意主题上发布的样本，而无需事先了解该主题所使用的数据类型。Replayer功能允许将这些记录的样本重新发布到相同或其他主题中。]]></description><category></category></item><item><title><![CDATA[strace使用简要说明]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/142566926</link><guid>https://blog.youkuaiyun.com/pony12/article/details/142566926</guid><author>pony12</author><pubDate>Thu, 26 Sep 2024 17:29:42 +0800</pubDate><description><![CDATA[strace追踪运行中的进程或线程，拦截并记录进程中执行的系统调用和接收到的信号。每个系统调用的名称、参数和返回值都会打印在标准错误或使用-o选项指定的文件中。

通过strace可以了解很多关于系统及其系统调用的信息。因为系统调用和信号是在用户/内核界面上发生的事件，因此这些边界事件对于bug解决、安全性检查和尝试捕获竞争条件是非常有用的。]]></description><category></category></item><item><title><![CDATA[win+linux平台C语言获取进程的线程数量]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/142317628</link><guid>https://blog.youkuaiyun.com/pony12/article/details/142317628</guid><author>pony12</author><pubDate>Tue, 17 Sep 2024 19:27:53 +0800</pubDate><description><![CDATA[进程内线程数量的浮动状态，是衡量软件是否稳定的一个指标。线程数量控制不好，将影响软件中其他功能的正常运行，可能会造成出现“Resource temporarily unavailable”的错误，乃至导致应用退出的可能。get_thread_num()方法，适合win+linux平台的C语言获取进程内的线程数量。]]></description><category></category></item><item><title><![CDATA[OpenDDS的Rtps_Udp传输协议可靠性QoS收发基本流程]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141281536</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141281536</guid><author>pony12</author><pubDate>Sat, 17 Aug 2024 15:47:57 +0800</pubDate><description><![CDATA[OpenDDS中，实现了Rtps_Udp传输协议（非纯udp）的可靠性传输。传输的线程包括：1）发送方线程主要线程和定时器
        《1》应用线程
        《2》网络异步发送线程
        《3》Heartbeat定时器
        《4》Nak_response定时器
    2）接收方主要线程和定时器
        《1》网络异步接收线程]]></description><category></category></item><item><title><![CDATA[RTPS对等发现过程的日志记录]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141280958</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141280958</guid><author>pony12</author><pubDate>Sat, 17 Aug 2024 15:23:15 +0800</pubDate><description><![CDATA[RTPS对等发现过程的日志记录，是快速分析和解决RTPS对等发现过程中问题的有效方法。]]></description><category></category></item><item><title><![CDATA[OpenDDS基于银河麒麟aarch64处理器的编译问题及解决措施]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141277736</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141277736</guid><author>pony12</author><pubDate>Sat, 17 Aug 2024 11:25:36 +0800</pubDate><description><![CDATA[OpenDDS+ACE在国产系统和处理上，编译时遇到的错误，和解决策略。]]></description><category></category></item><item><title><![CDATA[OpenDDS的GUID是如何构造的？]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141277064</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141277064</guid><author>pony12</author><pubDate>Sat, 17 Aug 2024 10:53:40 +0800</pubDate><description><![CDATA[GUID(Global Unique IDentifiers)是RTPS规范约定的DDS对象的唯一性ID；
RepoId（Repository IDentifiers）是Repo服务约定的DDS对象的唯一性ID；
GUID和RepoId，都是基于GUID_t结构体定义，名称不同，但实质上是一样的。
题外话：

无论是GUID还是RepoId，都可以根据自己的环境、业务和代码需要，自定义GUID_t结构体（共16个字节位）的组成部分，实现自己的特定需要。]]></description><category></category></item><item><title><![CDATA[OpenDDS 集中发现服务联邦Federator解析]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141201746</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141201746</guid><author>pony12</author><pubDate>Wed, 14 Aug 2024 22:46:01 +0800</pubDate><description><![CDATA[集中发现协议客户端服务端联邦服务可执行服务。]]></description><category></category></item><item><title><![CDATA[OpenDDS集中发现服务DCPSInfoRepo联邦机制]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141201227</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141201227</guid><author>pony12</author><pubDate>Wed, 14 Aug 2024 22:03:05 +0800</pubDate><description><![CDATA[OpenDDS在提供DCPSInfoRepo集中发现服务的基础上，又提供了集中发现服务DCPSInfoRepo的联邦功能，实际上就是集群功能。但联邦Federation功能一直以来，作为一个实验项目存在，功能的完备性、可用性距离真正的集群功能还存在着较大差距，如果你想实现OpenDDS的发现服务的集群化：1）根据DCPSInfoRepo联邦的基础上，进行完善、改造和定制，让它往集群化服务的方向继续前进；2）基于自己的业务需要，结合市面上的集群组件、注册发现的机制进行开发和实现。]]></description><category></category></item><item><title><![CDATA[DCPSInfoRepo集中发现服务的主题通信]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/141200683</link><guid>https://blog.youkuaiyun.com/pony12/article/details/141200683</guid><author>pony12</author><pubDate>Wed, 14 Aug 2024 21:47:49 +0800</pubDate><description><![CDATA[DCPSInfoRepo，作为OpenDDS提供的RTPS对等发现规范之外的pub方和sub方注册发现的服务机制。1）既作为pub方和sub方应用的主题资源中心；2）又作为pub方和sub方的连接健康监测中心；以这4个内置主题为通信线索，进行DCPSInfoRepo和pub/sub端的联系连接。]]></description><category></category></item><item><title><![CDATA[windows7的“时钟”小工具]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/140513865</link><guid>https://blog.youkuaiyun.com/pony12/article/details/140513865</guid><author>pony12</author><pubDate>Thu, 18 Jul 2024 09:53:14 +0800</pubDate><description><![CDATA[windows7自带的【小工具】中有“时钟”工具，通过【桌面】右键菜单-【小工具】窗口中，将“时钟”工具拖动到桌面上，刚开始拖放到桌面上，就是不能正常显示，改变系统的显示字体大小后，就能显示“时钟”了，踏破铁鞋无觅处，得来全不费工夫！希望对大家有益]]></description><category></category></item><item><title><![CDATA[pstack及使用]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/140092798</link><guid>https://blog.youkuaiyun.com/pony12/article/details/140092798</guid><author>pony12</author><pubDate>Mon, 01 Jul 2024 09:48:13 +0800</pubDate><description><![CDATA[pstack对于查看线程快照、查找线程死锁、线程中频繁调用方法等需求，有较好的效果，是一个不错的脚本工具。]]></description><category></category></item><item><title><![CDATA[DDS块集是如何工作的？]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/138729374</link><guid>https://blog.youkuaiyun.com/pony12/article/details/138729374</guid><author>pony12</author><pubDate>Sat, 11 May 2024 20:45:35 +0800</pubDate><description><![CDATA[从DDS网络和DDS应用程序所需的DDS定义开始。然后将DDS定义带入Simulink环境。你可以导入或创建这些定义。一旦定义在Simulink环境中，领域、主题、类型、服务质量（QoS）和领域参与者信息就可以在Simulink中获得。]]></description><category></category></item><item><title><![CDATA[DDS Blockset Shapes Demo]]></title><link>https://blog.youkuaiyun.com/pony12/article/details/138676869</link><guid>https://blog.youkuaiyun.com/pony12/article/details/138676869</guid><author>pony12</author><pubDate>Fri, 10 May 2024 18:38:11 +0800</pubDate><description><![CDATA[演示DDS模块集Blockset形状演示应用程序。Shapes Demo是一个常见的数据分发服务（DDS）应用程序，用于介绍DDS概念，你可以使用它发布和订阅以简单形状（圆形、方形和三角形）表示的主题，并观察发布者和订阅者的连接。许多提供使用DDS标准的产品和服务的组织都提供了自己版本的Shapes Demo，以展示DDS的核心功能。]]></description><category></category></item></channel></rss>