socket线程和实时ethercat线程之间的数据交互

请教个问题:xenomai上跑IgH,单独的ethercat线程测了稳定在1ms,抖动在0.98~1.02ms之间。
然后,单独开了linux的socket通讯线程,pthread_create,非实时,测了收发一次的耗时在0.4ms以内(偶尔有波动)。
现在问题出现在socket线程和实时ethercat线程之间的数据交互,延时太大。加了全局变量用于缓存,实时ethercat线程从socket线程读到的数据还是存在明显的延时(数据不更新达到快100ms)。
提问:socket线程和实时ethercat线程之间的数据交互方式有问题吗?有在xenomia上的socket应用案例吗?谢谢

你用来测试的数据和实际的数据是一致的吗
本机通信测试,是没有网络设备延迟的,当然快
放到互联网环境里,通信一次延迟秒级是很正常的

Xenomai上的socket应用案例有很多,可以参考Xenomai提供的官方文档,比如Xenomai的官方编程手册和应用开发指南,以及社区提供的一些代码示例,都可以查看。

另外,为了确保实时性,建议使用Xenomai提供的实时socket API,即rt_socket API,相关文档可以参考Xenomai的官方文档。

另外,您也可以尝试使用Xenomai提供的实时同步机制,比如信号量、互斥量、条件变量等,可以有效地解决数据交互的实时性问题。