没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
传输协议设计
程序描述:通信双方都需要遵循一定的数据结构,而协议就是定义这样的标准
功能:通过定义通信双方都需要遵循的数据结构,使对方能正常识别发送过过去的
数据结构体。
性能:部分程序相对独立性较高,外部程序只需要在必要的时候调用该程序的接口就
可以了,因此该程序容易集成,灵活性高;
协议结构体:
struct FilePackage
{
char cmd; //操作命令
int filesize; //每次传输数据包大小
int ack; //标志位
char username[50]; //客服端用户名
char filename[125]; //传输文件名
char buf[1024]; //传输文件的元数据
};
打包函数:
struct FilePackage pack(char tCmd, char* tBuf, char*
tFilename, int tFilesize, int tAck,int count,char *uname)
{
struct FilePackage tPackage;
tPackage.cmd = tCmd;
memcpy(tPackage.buf,tBuf,count);
strcpy(tPackage.filename, tFilename);
strcpy(tPackage.username, uname);
tPackage.filesize = tFilesize;
tPackage.ack = tAck;
return tPackage;
}
流程逻辑:当接收到协议包的时候,调用解析函数解析出有效数据,当要发送数据
的时候调用封包函数将要发送的数据封装到协议包。
接口:提供的接口:
struct FilePackage pack(char tCmd, char* tBuf, char* tFilename, int tFilesize, int
tAck,int count,char *uname)//打包函数
struct FilePackage unpack(SSL * ,struct FilePackage ); //解包函数
数据包cmd&ack具体设计:
登陆:
Cmd:L
服务器发送数据包的 ACK:0 用户名或密码错误
1 登陆成功
资源评论
虾仁猪心
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功