我正在研究一个涉及几台计算机上的几个应用程序的项目。主应用程序是在CentOS服务器上运行的C++套接字服务器,客户端应用程序是在客户端PC上运行的Java程序。套接字通信协议/标准
这些将使用套接字来回传递。我已经定义了一组命令和参数,它们将需要实现以支持所有内容。
我已经考虑了几种选择,但我似乎无法找到完美的..
- 应在C++和Java程序编写自己的类别/验证消息的解析器?
- 我应该创建一个定义所有通信消息的XML文件(通过HTTP提供服务)吗? (这在服务器/客户端将解析和创造行动)
- 或者使用某种类型的第三方库(谷歌协议缓冲?)
的一点是,当套接字服务器发送消息X
,然后客户必须知道如何处理它。其他方向也一样。
什么是最好的实施方式?拥有XML文件会很好,因为客户端/服务器可能会解析它并根据数据创建方法/操作。但更清晰的方法是创建可以解析的类。
为什么XML而不是JSON?另外,如果您想轻松调试您的协议,最好使用基于文本的协议;但最终这是你的选择。 – fge
消息是基于文本的。 – DavidS
是的,但我在谈论一般的协议(什么包装消息等) – fge