【发布时间】:2011-01-06 00:42:35
【问题描述】:
我面临以下两难境地:
设计一种用于服务器(Java 软件)与桌面和移动客户端之间的新网络协议。移动客户端包括 J2ME、Android,未来可能甚至包括 iPhone。
数据流是实时的、恒定的流,也包含更多不常见的部分。客户端显示此数据的波形以及不需要立即更新的数据。客户端也应该经过身份验证。
如果可能,我想避免从头开始创建完全自定义的 TCP 协议实现。
现在人们通常建议以我也非常喜欢的 REST 风格来做所有事情。在这种情况下,我有点犹豫:您将如何在 REST 之上实现恒定的数据流?分块的 HTTP 响应?
我也在考虑非明文协议(我要替换的当前协议是二进制协议)。那些当前的协议有相当严重的问题,所以它们真的应该被替换。
Google 协议缓冲区看起来是处理低级细节的一个非常强大的候选者,但我不确定它是否可以在 Android 中使用。而且我很确定 iPhone 的实现也会有问题。
还有BEEP,但我认为它已经死了,我想知道它是否曾经被广泛使用。
有什么想法吗?
【问题讨论】:
标签: java tcp network-protocols