自己设计系统之间的通信协议
来源:互联网 发布:mac 手写 编辑:程序博客网 时间:2024/06/08 12:06
一个突发奇想
昨天一直在想http协议的问题,http协议是基于TCP/IP协议的,我一直在想,http的实体在哪里?后来我想,http不过是一个“全球范围内的承诺”,所有使用它的人都承诺按照特定的格式传递数据。因此,用正式一点的话说,它只不过是一组全球共同承认的规范而已,定义了一组程序、服务器等必须遵守的通信约定,这么想来,协议貌似就没有那么神秘了。因此,我觉得我们人人都可以制定协议了,小到一句话大到一个庞大的协议族。我们在设计自己内部的系统时,有时候为了通信方便,我们可以设计自己的协议,比如FastDFS分布式文件系统就制定了自己系统内部的通信协议,如图:
详细设计
当需要进行网络通讯时,要想让双方识别对方,就涉及对协议的设计。那么在具体项目中,如何设计协议呢?或者如何设计出较高效的协议?来满足项目的要求呢?
一般来说,一个基本的数据包协议需要以下部分:
2. 协议版本号
3. 协议包的序号
4. 协议包的发出时间
5. 协议包的类型
6. 协议包的数据长度
7. 数据
8. 校验码
9. 结束符
上面的9点中,第1到第5是包头部分,对于每个数据包都是一样的,下面的第8,第9点,对于每个数据包也是相同的。但对于后面的第6,第7跟具体的包有关,这部分是不同的。
0 0
- 自己设计系统之间的通信协议
- 如何设计两个系统之间的通信协议
- 自己设计通信协议
- peer之间的通信协议
- libgsc的通信协议设计
- 基于CAN总线智能建筑监控系统的通信协议设计
- 飞鸽传书的通信协议设计思路
- 论网络通信协议之间的相互作用
- 初探基于TCP的服务器/客户端结构的聊天系统(二)之应用层通信协议设计
- 通信协议设计
- 基于CAN总线智能建筑监控系统的通信协议设计(一)
- 协议设计:简单通信协议的心跳
- 设计一个简单的socket通信协议
- RS485总线通信协议的设计与实现
- 禄来6008机身和镜头之间的通信协议测试
- diy数据库(八)--客户端和服务器之间的通信协议
- Linux BT下载(4)-peer之间的通信协议
- 浏览器,服务器,浏览器和服务器之间的通信协议
- 非线性优化库liblbfgs初探
- 字典序
- jdbc学习总结五之批处理
- php 面试题
- 事物
- 自己设计系统之间的通信协议
- spring MVC配置详解
- jquery获取当前元素的标签类型
- Struts2访问ServletAPI(向JSP内置对象request,session,Application传值)
- 关于字符串池的概念以及解释
- C#解析Json值中含数组
- 【CS229 Lecture notes, Andrew Ng 】阅读笔记(持续更新中...)
- 使用VS2013编译Caffe源码(不带GPU支持)步骤
- C++——STL所有算法介绍