2011-08-08 65 views
-1

我有一個設備連接到串行端口並使用特定的協議與它進行交互。 我需要編寫一個解析器來根據給定的消息格式寫入/讀取協議消息。Java中協議處理的最佳庫?

基本上我需要序列化/反序列化使用給定格式的流和對象。

我想知道是否有任何良好的Java庫爲此目的,在Java.IO之上?請記住,該協議正在通過串行端口運行,因此速度可能很慢。

我已閱讀谷歌的protocolbuffer,聽起來非常有前途的解決方案,但它看起來有自己的序列化格式,這是我canot使用。

謝謝。

回答

3

首先,爲什麼某些對象是如何序列化的?如果圖書館爲讀者和作者提供兩個方面的內容,那麼爲什麼要擔心。另一方面,如果你有其他一些不是基於java的系統,也想讀/寫這種格式,那麼你有問題。

所有序列化庫介紹自己的格式

  • Java序列化
  • 協議緩衝區
  • 你喜歡的XML綁定框架
  • 節儉
  • 的JBoss系列化

如果兩端可以使用l然後ibrary挑選上運行特性最好的,如

  • 速度......越快越好
  • 大小的一個...越少越好
  • 壓縮 - 可能是重要
  • 安全/如果你想保護它下面的圖層,加密可能是必要的。
  • 版本支持的消息演變爲應用程序的增長...(感謝名單MG)
+1

我建議的「版本」的故事是因爲郵件格式已經被定義爲列表 –

+0

另一個重要的和在硬件中使用。這是不可能的使用任何上述。但是我仍然對任何可以根據格式定義生成所需的格式化消息並能夠解析它的庫感興趣。這將有助於解決繁瑣的解析工作通常需要做的事情。 – Wudong