首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

菜初学者,请问应用层协议设计

2012-03-20 
菜菜鸟,请教应用层协议设计应用层协议设计一,问题概述设计一个即时通信软件的应用协议,并要求完成以下基本

菜菜鸟,请教应用层协议设计
应用层协议设计
一,问题概述
设计一个即时通信软件的应用协议,并要求完成以下基本功能的协议设计
1,登陆功能。2,下载好友列表功能。3,添加好友功能。4,删除好友功能。5,加入黑名单功能。6,好友上线通知功能。7,好友ID查询,昵称查询功能。8,下载好友资料功能(包含照片)。
二,重要数据描述
UserID         32位无符号整型,4字节
NickName     变长ASCII字符串,最大255字节
Gender         bool类型,1字节
Password     变长ASCII字符串,最大16字节
Photo           定长ASCII字符串,最大255字节,代表用户照片所在的磁盘路径
三,协议模式
用户PC       <======>       服务器       <======>       数据库
四,协议设计
(一),登陆公共部分信息
1)Header:     0XFD           0XFD
2)标识/命令字           8位模式
3)消息包长度           16位模式
2,登陆请求
UserID       32位bit模式
Password       变长ASCII
Display   mode     8位模式
3,登陆应答
登陆状态(成功,失败)8位
离线消息个数位模式8
离线消息内容(发送消息人的ID,时间,内容)
87654321
Header
标识/命令字
消息包长度
UserID
Password
Display   mode
87654321
标识/命令字
消息包长度
登陆状态
离线消息个数
离线消息内容
(二),下载好友列表功能
1,公共部分信息
标识符/命令字32模式
消息包16位模式
下载好友列表请求
在登陆系统后,向服务器发送的第1条消息,请求获得登陆者的好友[UserID]
列表
UserID             32位bit模式
标识/命令字
消息包长度
UserID

下载好友列表应答
服务器返回登陆者的好友列表[好友个数,好友昵称,好友性别],若登陆者无好友则返回错误。
Status8位模式FriendID32位bit模式Sex
8位模式
Nickname16位模式
标识/命令字
消息包长度
Status
FriendID
Nickname
Friend


注:这是老师给的实验报告,本人从前没好好学,完全看不明白。现在想浪子回头,不知道有没有这个机会。有没有哪位大哥能帮帮我解决下这个问题,写个源代码让偶从中学习,学习,顺便把那该死的作业给交了,谢谢各位朋友!




[解决办法]
注:这是老师给的实验报告,本人从前没好好学,完全看不明白。现在想浪子回头,不知道有没有这个机会

想好好学,
就这个表现??

要求非常明确了嘛
跟着要求一步一步实现就是了。
[解决办法]
设计协议阿,没说要实现阿,找SIP/SIMPLE的RFC文档参考一下吧,要实现的话open source的也很多

热点排行