使用 C# UDP 从 Labview RT 实 时 系统 接收 数据 时 有多快



All.

我在网上搜索了很长时间。但是没有用。

我遇到了一个问题,那就是在我的计算机中,我使用C# UDP接收方法从Labview RT实时操作系统接收数据,我的计算机和Labview RT实时操作系统通过电缆连接。

当我的电脑从Labview RT实时操作系统接收到数据时,它将在文本框中显示数据,每个接收的数据一行。数据由Labview RT实时操作系统频繁发送,发送数据包的时间间隔从5毫秒到100毫秒不等。

当Labview RT实时操作系统发送的数据包的时间间隔大于15毫秒时,一切都运行良好,每行显示一个数据包,但是当时间间隔小于15毫秒时,数据包将一起显示。

我想这是因为 C# udp 接收数据的速度不是那么快,因此它将时间间隔小于 15 毫秒的数据包视为一个数据包。

所以。。。。如何解决这个问题? (^_^)

简短的回答是编写一个"数据报"检查器,并在必要时拆分。

该程序原则上运行正确,我认为问题在于理解如何通过UPD(以及TCP(协议和术语发送数据。

您要发送一组数据,称为数据报,可以通过UPD传输协议发送,该协议使用IP互联网层发送数据报。为此,数据报可能会拆分为多个数据包。这些数据包将从主机设备发送到客户端设备。在客户端设备上,数据包将组合成数据报并存储在缓冲区中,直到程序读取。

C# 程序似乎读取缓冲区中所有可用的数据报(可能不止一个(,并将它们显示为一个。或者 Labview RT 可能会 将 您 的 实际 数据 合并 到 一个 数据 中。无论问题出在哪里,在客户端编写可以拆分包的数据报检查器似乎是不限制传输速度的最佳选择。

最新更新