2011-06-01 113 views
2

我目前將服務器功能集成到運行復雜測量系統的軟件中。 客戶端將是另一家公司的軟件,它將定期向我的軟件詢問系統的當前狀態。設計客戶端/服務器通信協議的最佳實踐

現在我的問題是:什麼是設計協議以提供這些狀態信息的最佳方式。有許多不同的國家必須傳播。

我已經看到了解決方案,它們生成不同的狀態標誌,然後僅傳輸例如32位數字,其中每個位代表不同的狀態。

例子:

  • 位0 - 系統在線
  • 位1 - 正在進行測量
  • 第2位 - 溫度穩定 ...等等。

此解決方案將產生很少的流量。雖然它對我來說似乎很不靈活,也很難調試。

其他的我認爲它可能做的是轉院由國家的名字前面每一個狀態:

例子: #SystemOnline#1#MeasurementInProgress#0#TemperatureInProgress#0#.....

這種解決方案會產生大量更多的流量。但它看起來更加靈活,因爲每個狀態的轉換順序都是不相關的。另外它應該更容易調試。

有沒有人從經驗中知道解決問題的好方法,或者是否有人知道我可以找到最佳實踐的良好知識來源。我只是想防止試圖重新發明輪子

回答

0

一旦您向遠程系統發出網絡請求,等待響應並接收並解碼響應,響應是32位還是32K 。一秒鐘你會產生多少次這種流量?如果小於1,則重要性更低。因此,請使用最簡單的實現方式,對客戶來說最自然,無論是字符串還是XML。

相關問題