⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatstruct.h

📁 一个控制台console的聊天程序
💻 H
字号:
#ifndef _CHATSTRUCT_H
#define _CHATSTRUCT_H


//消息队列结构体
#pragma pack(1)
typedef struct tagPAIR_t
{
	char* pBuf;					//指向数据缓冲
	short iSize;				//消息长度---数据包总长度
	sockaddr_in clientAddr;		//SOCKET地址
	char* name;
	tagPAIR_t()
	{
		iSize=0;
	}
}MsgPair;
#pragma pack()


//在线用户的队列
#pragma pack(1)
typedef struct tagUserOnline
{
	char userName[20];				//用户名
	sockaddr_in clientAddr;			//SOCKET地址
	tagUserOnline()
	{
		memset(userName,0,20);
		memset(&clientAddr,0,sizeof(clientAddr));
	}
}UserOnline;
#pragma pack()


//数据包头
#pragma pack(1)
typedef struct tagGRAMHEAD_t
{
	char	COMMAND;      //数据包命令
	short	PACKID;       //包ID
	char	COUNT;        //包总数
	char	NO;           //包分块序号
	short	LENGTH;       //包长度
	char	USERNO[20];       //用户名
	tagGRAMHEAD_t()
	{
		COMMAND =	0;
		PACKID	=	0;
		COUNT	=	0;
		NO		=	0;
		LENGTH  =	0;
		memset(USERNO,0,sizeof(USERNO));
	}
}GramHead, *pGramHead;
#pragma pack()

#define C_LOGIN			 50                  //客户登陆
#define C_LOGOUT	     51                  //客户离开
#define C_MESSAGE		 52                  //客户聊天信息
#define C_RECVMESSAGE	 53					 //客户接收到客户的聊天消息
#define C_USERLIST		 54					 //客户查看用户列表命令

#define S_LOGIN		  	 70                  //服务器返回登陆成功
#define S_LOGOUT	     71                  //服务器返回离开成功
#define S_MESSAGE		 72                  //系统消息
#define S_USERLIST		 73					 //服务器返回用户列表命令
#define S_USERLOGIN		 74					 //用户登陆,通知其他用户
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -