2011-08-08 63 views
-1

我有一个设备连接到串行端口并使用特定的协议与它进行交互。 我需要编写一个解析器来根据给定的消息格式写入/读取协议消息。Java中协议处理的最佳库?

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

我想知道是否有任何良好的Java库为此目的,在Java.IO之上?请记住,该协议正在通过串行端口运行,因此速度可能很慢。

我已阅读谷歌的protocolbuffer,听起来非常有前途的解决方案,但它看起来有自己的序列化格式,这是我canot使用。

谢谢。

回答

3

首先,为什么某些对象是如何序列化的?如果图书馆为读者和作者提供两个方面的内容,那么为什么要担心。另一方面,如果你有其他一些不是基于java的系统,也想读/写这种格式,那么你有问题。

所有序列化库介绍自己的格式

  • Java序列化
  • 协议缓冲区
  • 你喜欢的XML绑定框架
  • 节俭
  • 的JBoss系列化

如果两端可以使用l然后ibrary挑选上运行特性最好的,如

  • 速度......越快越好
  • 大小的一个...越少越好
  • 压缩 - 可能是重要
  • 安全/如果你想保护它下面的图层,加密可能是必要的。
  • 版本支持的消息演变为应用程序的增长...(感谢名单MG)
+1

我建议的“版本”的故事是因为邮件格式已经被定义为列表 –

+0

另一个重要的和在硬件中使用。这是不可能的使用任何上述。但是我仍然对任何可以根据格式定义生成所需的格式化消息并能够解析它的库感兴趣。这将有助于解决繁琐的解析工作通常需要做的事情。 – Wudong