1.数据包设计
a.登陆命令
//命令枚举
enum SOCK_CMD
{
SC_LOGIN,//登陆
SC_LOGOUT,//注销
SC_LOGIN_RET,//登陆结果
SC_LOGOUT_RET,//注销结果
SC_ERR //错误命令
};
b.数据包格式结构
//网络数据头
struct SOCK_DATA_HEAD
{
short LEN;//数据长度
short SOCK_CMD;//数据对应命令
};
c.登陆结构体
//登陆结构体
struct LOGIN : public SOCK_DATA_HEAD //继承结构SOCK_DATA_HEAD
{
//结构体构造器
LOGIN()
{
//数据长度
LEN = sizeof(LOGIN);//初始化SOCK_DATA_HEAD字段LEN
//数据对应命令
SOCK_CMD = SC_LOGIN;//初始化SOCK_DATA_HEAD字段SOCK_CMD
}
char USERNAME[32] = { 0 };//用户名
char PASSWORD[16] = { 0 };//密码
};
d.登陆结果结构体
//登陆结果结构体
struct LOGIN_RET : public SOCK_DATA_HEAD //继承结构SOCK_DATA_HEAD
{
本文介绍了使用C++进行TCP网络通信的过程,包括数据包的设计,如登陆和注销命令的结构体,以及服务器和客户端如何收发自定义的数据包。在服务器端,详细讲解了如何接收包头并处理包体的操作。
订阅专栏 解锁全文
704

被折叠的 条评论
为什么被折叠?



