📄 char.h
字号:
/************************************************************
*chat.h
* 基于socket的聊天客户机和服务器的头文件
* Copyright by Subo, All Right Reserved
*设计思路:
* 客户机提出各种请求,服务器根据不同请求,发送不同的响应.
*关键问题:
* 客户机和服务器之间协议制订
*************************************************************/
#include <netinet/in.h> // for sockaddr_in
#include <sys/types.h> // for socket
#include <sys/socket.h> // for socket
#include <stdio.h> // for printf
#include <stdlib.h> // for exit
#include <string.h> // for bzero
/************************************************************
*服务器端口定义
*************************************************************/
#define CHAT_SERVER_PORT (6666)
/************************************************************
*报文类型定义
*************************************************************/
#define NO_COMMAND (100)
//客户端发送报文类型
#define REGISTER (1)
#define LOGIN (2)
#define GET_USER_LIST (3)
#define TALK_TO (4)
#define EXIT (5)
#define CHANGE (6)
#define GET_MESSAGE (7)
//服务器端发送报文类型
#define SUCCEED (0)
#define FAIL (-1)
#define TRANSFER (80)
/************************************************************
*报文格式定义
*************************************************************/
#define COMMAND_SIZE (sizeof(char))
#define OPTION_SIZE (16)
#define ID_SIZE (OPTION_SIZE)
#define PASSWORD_SIZE (OPTION_SIZE)
#define MESSAGE_SIZE (1024)
typedef struct chat_package
{
signed char type;
char from[ID_SIZE +1];
char password[PASSWORD_SIZE +1];
char option[OPTION_SIZE +1];
char to[ID_SIZE + 1];
char message[MESSAGE_SIZE +1];
}chat_package;
#define BUFFER_SIZE (sizeof(chat_package))
/************************************************************
*选项分类:
* "用户列表"
*************************************************************/
#define USER_LIST "USER_LIST"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -