协议的补充阅读
来源:互联网 发布:深思考人工智能薪资 编辑:程序博客网 时间:2024/04/29 03:22
协议序列化分类:
二进制【子类型:C结构体,IIOP等等】 文本【子类型:XML序列化,JSON等等】
协议控制分类:
长度控制型【每个字段的用长度字段来控制】 控制字符型【用控制字符来描述字度的开始结束】
协议标识的用处:
区分不同协议,让不同协议可以在同一管道里传输
用于错误恢复,相当于同步头,协议内容错误时可以用它来同步恢复
版本号,属于防御性字段,用于识别客户端协议类型,大部分时候可以同时作为客户端类别识别号
原则:
一个字段最好只有一个意义,这样程序的扩展性,正交性都比较好,但考虑到系统开销等实际问题时,有会合并某些字段,降低一定的扩展性来获得性能
无论一个字段有多少个意义,概念上最好是独立的
字段的具体意义会不断的得到精炼而抽象出来,是个渐进的过程,根据对业务的需求不断改进,不能一步到位,开始设计的时候尽量参考别人的设计
对于交互性程序的协议,一般都需要客户端标识号【就是登陆用户名】
协议层次带来的好处:
降低系统的复杂度
增加系统的重用性
具体可以看TCP-IP协议层次
缺点:
开销大
不能统筹
不同类型的协议最好不要混用,尤其是协议控制分类
长连接的心跳
长连接优点,可以做及时做事件通知,在交互性强的程序里可以节省资源
短链接的优点,对于非高交互的程序可以简化编程,节省服资源,且错误几率低 【对于互相可见程序可以及时回调】,如果使用HTTP,对防火墙友好
- 协议的补充阅读
- TCP 协议详解的补充内容
- 第十二周 补充阅读
- 16周 补充阅读
- 阅读程序补充-1
- 补充阅读程序-2
- 补充阅读程序-4
- RTP协议(补充)
- HTTP协议知识点补充
- 有关http协议的阅读总结
- RTP/RTCP协议的补充(RTCP发送时间间隔)
- GB28181修改补充文件--雨刷和灯光的控制协议
- RTP/RTCP协议的补充(RTCP发送时间间隔)
- 第十六周 程序阅读(补充阅读)
- 第12周 补充阅读
- 第十二周 阅读程序-补充
- 第十二周补充阅读程序
- HTTP 协议详解 (补充)
- Android low memory killer 详解
- CDN服务
- dao语言程序
- [转]ARP协议
- php版本比较函数version_compare()
- 协议的补充阅读
- 基于管道的体系结构
- Win7 x64 WDK安装经验
- vs2005 智能感知不正常的解决办法
- x86架构是什么?(转载)
- 交通灯系统
- 结果今天做的一件无语的事!!
- javascript:剪切板的使用(clipboardData.setData)和js中match函数
- 数据结构与算法实验源代码下载