我有一个现有的独立应用程序,将由第三方使用网络协议进行扩展。功能已经实现,我只需要将它们暴露给外部即可。
假设传输协议已经选择(UDP),是否有任何资源可以帮助我设计应用程序协议?
似乎有很多关于软件设计的信息,但没有关于协议设计的信息。 我已经查看了 应用程序协议设计。
假设传输协议已经选择(UDP),是否有任何资源可以帮助我设计应用程序协议?
似乎有很多关于软件设计的信息,但没有关于协议设计的信息。 我已经查看了 应用程序协议设计。
你看过Google Protocol Buffer吗?它似乎是解决这个问题的好方法。
你可以创建一个端点,使用protobuf协议与现有应用程序通信,并从“外部”响应。它是二进制的,所以很小而且快速,你不必编写自己的协议管理器,因为可以使用Google的。缺点是它必须在系统的两侧实现(在“服务器”端和消费者/客户端端)。
如果你选择XML,请记住你将有大量的标记开销。
与XML相比,一个简单的二进制协议也需要更少的资源来解析。