我正在使用通過TCP進行通信的arduino's來自動化很多我的公寓(前門,恆溫器,燈光等)。我想簡單地解析字符串消息協議,例如用起始字節和停止字節。我不想使用可能最終用於字符串或作爲命令的字符,所以我想到了一些ASCII控制字符。設計一個通過TCP與Arduino進行通信的協議
服務器將用C#編寫,客戶端將是arduino的以太網屏蔽(特別是更便宜的HR91105A模塊)。從技術上說,我的信息不應該被分解(它們將小於1kb),但是我希望在某些情況下我會放置一些信息組裝機制,以便我決定要這樣做。我是否在說這個?我應該僅僅依靠它來獲取整個信息嗎?
這是我第一次設計系統通信協議(即使這只是一個小規模),我想知道是否有人有任何最佳實踐?
我會用換行字符作爲消息分隔符(你需要逃避將是焦炭的唯一字符)。這樣,您可以使用StreamReader的ReadLine WriteLine方法將命令發送到另一端。 – EZI
我的意思是[this](http://stackoverflow.com/a/21510978/932418)。其中'T'可以是任何你想要發送或接收的對象。 – EZI