【发布时间】:2013-07-31 20:58:00
【问题描述】:
请告知创建自定义二进制协议服务器的最佳解决方案。服务器应通过 TCP/IP 上的二进制协议接受来自多个设备的通信。
是否有任何现有的服务器/框架解决方案可用? IE。 node.js 适合解决这个问题吗?首选的解决方案是面向 Java 的。
提前致谢!
更新:需要二进制协议来减少通信数据量。协议的任何文本格式都可能过于冗长。此外,设备的协议已经指定。
【问题讨论】:
-
要说的太多了。有什么理由必须是二进制的吗?文本会更容易使用吗?您可以只使用 Java 中内置的库。
-
您可以只使用
ServerSocket- 但这显然需要您从头开始实施。你不能只通过 HTTP 发送二进制数据吗? Base64? -
您说文本格式“可能过于冗长”,但大多数情况下最好还是采用一种格式。文本格式比二进制格式更容易测试和调试,并且使用 gzip 压缩文本流将消除大部分开销。选择没有表现出性能问题的二进制格式通常是过早的优化。