我有一个现有的独立应用程序,它将由第三方使用网络协议进行扩展.功能已经实现,我需要的只是将它们暴露给外部.
假设已经选择了传输协议(UDP),是否有任何资源可以帮助我设计我的应用程序协议?
似乎有很多关于软件设计的信息,但没有关于协议设计的信息.我已经看过应用程序协议设计了.
你看过Google Protocol Buffer了吗?这似乎是解决此问题的好方法.
您可以创建一个与现有应用程序通信的端点,然后使用protobuffer协议从"外部"进行响应.它是二进制的,所以它很小而且快速,你不必编写自己的协议管理器,因为你可以使用谷歌协议管理器.缺点是它必须在系统的两侧实现(在"服务器"端和消费者/客户端).
请参阅Jabber协议设计指南和RFC 4101.虽然它旨在让审阅者更容易理解RFC,但这个RFC提供了一些有趣的建议.