kklll / Chat

:construction:一个基于QT和C++的简易的即时通讯程序

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chat

一个基于 QT 和 C++ 网络编程的简单的即时通讯程序

应用层协议

登录请求数据包格式(128)
type work flen from tlen to plen psw ulen uid size
0 1 9 127.0.0.1 9 127.0.0.1 5 11111 9 111111111 39
解释 普通数据包 登录请求 from字段长度 发送者IP to 长度 接收者IP psw长度 psw uid长度 uid 总长度
长度 1 1 1 1-15 1 1-15 1 1-20 1 1-20 1
登录成功响应数据包格式(128)
type work ulen uid nlen name tlen token
0 1 3 xxx 3 xxx 36 x-x-x-x
解释 普通数据包 登陆成功 uid长度 uid 用户名长度 用户名 token长度 token
长度 1 1 1 1-20 1 1-20 1 36
登录失败响应数据包格式(128)
type work
0 2
解释 普通数据包 登陆失败
长度 1 1
注册请求数据包格式(128)
type work flen from tlen to plen psw nlen name aLen aPSW size
0 1 9 127.0.0.1 9 127.0.0.1 5 11111 3 xxx 5 11111 39
解释 普通数据包 登录请求 from字段长度 发送者IP to 长度 接收者IP psw长度 psw name长度 用户名 重复密码长度 重复密码 总长度
长度 1 1 1 1-15 1 1-15 1 1-20 1 1-20 1 1-20 1
注册成功响应数据包格式(128)
type work ulen uid nlen name tlen token
0 3 3 xxx 3 xxx 36 x-x-x-x
解释 普通数据包 注册成功 uid长度 uid 用户名长度 用户名 token长度 token
长度 1 1 1 1-20 1 1-20 1 36
注册失败响应数据包格式(128)
type work
0 4
解释 普通数据包 注册失败
长度 1 1
登出请求(1024)
type work uLen uid tLen token
0 3 9 xxx 36 x-x-x-x
解释 普通数据包 登出请求 uid的长度 uid token长度 token
长度 1 1 1 1-20 1 36
发消息请求(1024)
type work flen fID tlen tID tokLen token mLen message
0 4 9 xxx xxx 36 x-x-x 100 xxxx
解释 普通数据包 客户端发消息 fID 长度 发送者ID tID长度 接收者ID token长度 token message长度 具体消息
长度 1 1 1 1-20 1 1-20 1 36 2 1-940
消息转发数据包(1024)
type work flen fID mLen message
0 6 9 xxx 100 xxxx
解释 普通数据包 客户端发消息 fID 长度 发送者ID message长度 具体消息
长度 1 1 1 1-20 2 1-940
客户端心跳包
type work uLen uid tLen token
1 1 9 xxx 36 x-x-x-x
解释 心跳包 心跳请求 uid的长度 uid token长度 token
长度 1 1 1 1-20 1 36
心跳响应包
type work uLen uid frNum f1IDLen f1ID f1Statu ... size
1 1 9 xxx 10 9 xxxx 1/2 ... 189
解释 心跳包 心跳响应 uid的长度 uid 好友数量 f1ID 长度 第一个好友的ID 在线/离线 ... 数据包总长
长度 1 1 1 1-20 2 36 1-20 1 ... 2

About

:construction:一个基于QT和C++的简易的即时通讯程序