客户端和服务端的通信协议文档(消息协议文档)应该怎么写?

bandaoyu 2018-01-18 10:48:32

客户端和服务端的通信协议文档?消息协议文档?通信规约? 不知道怎么叫才合适,也就是发什么消息回什么消息,消息的数据格式等的约定。


以前做的是嵌入式软件,而且是没有封装tcp协议的那种,所以传输的数据都是帧数据,写的通信协议里面包含有 帧头,帧尾,CRC校验位,请求和回复等内容。

这是我搜到的一个https://wk.baidu.com/view/f6785890a2161479171128cd?pcf=2#%23%23


现在换到pc端了,tcp传输过来就直接是数据区数据了。你们的协议(请求消息的格式,回复消息的格式,请求什么,回复什么等等)一般怎么写呢?


搜了一下 通信协议模板/规约模板 出来的基本都是嵌入式的,pc端的很少呀,web开发的也没搜到,是我搜索关键字错了吗?
你们有比较好的模板推荐吗?


另外我
现在做上位机项目,tcp传输,交换的数据准备分两部分,一部分是数据头,一部分是数据。

打算数据头描述 数据的大小和格式协议json/pb等,数据部分就是数据。

这样的结构如何?数据头用什么数据格式好呢?
...全文
1136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilaishuichina 2018-01-22
  • 打赏
  • 举报
回复
举个最简单的例子:用户登录 假设你的数据是json格式(不一定非的是json,也可能是xml,protobuf,甚至普通的2进制) 客户端发的数据应该是这样的:

{
	"username": "xxxx",
	"password": "xxxx"
}
服务端回复的数据是这样的

{
	"ret": "xxxx",
	"token": "xxxx"
}
你要写的文档,就是写明: 客户端上发的数据应该有哪些字段,每个字段是什么意思,应该填什么值。服务器回复的有哪些字段,每个字段有什么值,每个值对应的是什么意思 比如上例中的, username:用户名 password:md5之后的用户密码(这里说明密码字段要求客户端必须是md5之后的字符串,这只是举个例子,实际按你实际业务需求来设计) ret:服务器回复的登录结果0成功,1失败(按照你们的实际业务,可能针对不同的错误,有不同的错误码,这就是你需要在文档里面说明的,每个错误码是什么意思) token:如果登录成功,服务器会给客户端一个token,后续业务逻辑,客户端需要带上用这个token来表明身份。如果登录失败,就没有这个字段 以上
赵4老师 2018-01-20
  • 打赏
  • 举报
回复
《Http权威指南》
bandaoyu 2018-01-19
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
protobuf xml json ……
这些是协议框架。我说的是开放产品的时候 写的协议文档,比如 请求发送的消息是什么内容,服务器应该回复什么内容等,有没有模板,想看看别人怎么写
赵4老师 2018-01-19
  • 打赏
  • 举报
回复
protobuf xml json ……
bandaoyu 2018-01-19
  • 打赏
  • 举报
回复
引用 1 楼 lianshaohua 的回复:
tcp/ip或udp通信
版主。。。。。。我不是问这个耶,我问的是应用曾的 数据交互协议 而且是文档应该怎么写
ztenv 版主 2018-01-19
  • 打赏
  • 举报
回复
tcp/ip或udp通信

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧