做网络服务器都要自己设计协议吗?
时间:2010-08-27
来源:互联网
作者: ecjtubaowp 发布时间: 2010-08-27
作者: hellioncu 发布时间: 2010-08-27
作者: chinesedragon 发布时间: 2010-08-27
作者: sun2grit 发布时间: 2010-08-27
包类型
包内容
大部分都是这么设计的
作者: egmkang 发布时间: 2010-08-27
大部分建立在标准的TCP/UDP上层的.也有更上层的.如SIP或HTTP上层的.
比如QQ协议是在UDP或TCP协议上的更高一层协议. 第一个字节是0x2,第二三个字节是版本,四五个是命令.六七八九是QQ号.....最后一个字节是0x3.
而WEBQQ是建立在HTTP上层的协议.直接用明文的ASCII码传送信息了.
越上层.越好设计实现.因为下层已经把一些某本的东西都实现了,比如包的重传,乱序.重组等等.但网络传输效率最低.
现在的设备基本是基于IP的.所以想设计IP层以下的协议几乎不可能. 因为就算你设计了一个新协议取代IP协议,但路由器,交换机都不能实别,基本上没什么用了.除非是专有网络.
所以,可以从IP层以上重新实现一全新协议.但那就要考虑的东西多了.比哪IP包重传,IP包乱序,IP包重组.连接的握手,连接的关闭,数据包的接收确认 等等.相当于实现一套TCP协议.没有多大意义.
所以大部分应用都是建立在TCP上的.因为UDP不能连接确认.要自已实现.比哪你发了一个UDP包.如果对方不回确认信息,你是不知道有没有发送成功与否的!所以要建立连接确认机制.而TCP已经建立好了.
有时还要考虑加密机制,仿止第三方窃听重要数据。就要考虑TCP的上一层。SSL层上传数据了。所以具体在哪个层次,跟据具体需要来设定。
作者: zhangsuozhu 发布时间: 2010-08-27
作者: efolzl 发布时间: 2010-08-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28