簡體   English   中英

使用C#UDP從Labview RT實時操作系統接收數據時速度有多快

[英]How fast can be it when using C# UDP to receive data from Labview RT realtime OS

所有。

我正在網上搜索很長時間。 但是沒用。

我遇到了一個問題,那就是在我的計算機中,我使用C#UDP接收方法從Labview RT實時操作系統接收數據,我的計算機和Labview RT實時操作系統通過電纜連接。

當我的計算機從Labview RT實時操作系統接收數據時,它將在文本框中顯示數據,每收到的數據一行。 Labview RT實時操作系統經常發送數據,發送的數據包的時間間隔介於5毫秒到100毫秒之間。

當Labview RT實時操作系統發送的數據包的時間間隔大於15毫秒時,每行都將顯示一個數據包,而當時間間隔小於15毫秒時,這些數據包將一起顯示,這一切都可以正常工作。

我猜這是因為C#udp接收數據的速度不是那么快,所以它將以小於15毫秒的時間間隔發送的數據包視為一個數據包。

所以....我該如何解決這個問題? (^_^)

簡短的答案是編寫一個“數據報”檢查器,並在必要時進行拆分。

該程序原則上可以正常運行,我認為問題在於了解如何通過UPD(以及TCP)協議和術語發送數據。

您只有一個要發送的數據集,稱為數據報,可以通過使用IP互聯網層發送數據報的UPD傳輸協議來發送。 為此,數據報可以分為幾個數據包 這些數據包將從主機設備發送到客戶端設備。 在客戶端設備上,數據包將合並為一個數據報,並存儲在緩沖區中,直到被程序讀取為止。

C#程序似乎要么讀取緩沖區中的所有可用數據報(可能不止一個),然后將它們顯示為一個。 否則Labview RT可能會將您的實際數據合並為一個數據報。 無論問題出在哪里,在客戶端編寫可以拆分軟件包的數據報檢查器似乎都是最好的選擇,而不限制傳輸速度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM