我正在通過網絡遠程操作遠程站點機器人。二進制包解析
我從頭開始,我正在考慮將命令包發送給機器人。
我想使用簡單的協議。
[LENGTH] [HEADER] [BODY]
LENGTH是[HEADER + BODY]的字節。
頭將包括命令的類型,電流模式等等
機構將包括實時數據(目標位置,速度,轉矩等)
我的問題是這樣的。
如果我使用這個協議,首先我得到包的長度並根據長度信息從流中提取數據。
但是讓我們來想一下「長度數據錯誤」的情況。
分組流...
[10] [5Bytes] [10Bytes] | [15] [5Bytes] [10Bytes] | [15] [5Bytes] [10Bytes] ...
第一個數據包有長度錯誤。
我認爲這個錯誤可以打破它後面的每個數據包。
我將使用UDP作爲命令包,但不能保證數據將被正確接收。
我認爲這種情況是可能的。
真的發生了嗎?
如果是這樣,有沒有解決方案?
我不會想成爲本地站點操作員當機器人錯過一個UDP數據包,並決定對瘋狂我的頭,因爲擺動手臂是不是你覺得是了... – Alnitak
包送貨不保證UDP,但我非常肯定,缺乏保證只適用於整個數據包。當你得到一個數據包時,你可以認爲它是完整的。 –