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

📄 global.h

📁 在linux系统下实现了一个多人聊天工具的服务器端和客户端。该工具支持显示在线用户
💻 H
字号:
#ifndef _GLOBAL_H_
#define _GLOBAL_H_ 1

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <pthread.h>
#include <stdarg.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/signal.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/wait.h>
#include <sys/errno.h>
#include <netinet/in.h>

#define MAX_NAME 50
#define MAX_MES	 500
#define MAX_HOST 50
#define MAX_VERSION 50
#define MAX_ERR	    50
#define MAX_NUM	 20
#define SHIFT	 4
#define SIZE	 200
#define LOG_FILE "scd.log"
#define LOG_ERR	 "err.log"
#define Debug 1

typedef struct bucket_list_rec
{
        char * name;
	int connfd;

        struct bucket_list_rec * next;
}* bucket_list;

typedef struct addr_list_rec
{
	char * name;
	char * host;
	int connfd;

	struct addr_list_rec * next;
}* addr_list;

typedef struct host_list_
{
	char * host;
	int connfd;

	struct host_list_ * next;
} host_list;


extern bucket_list hash_table[];

extern addr_list addr_table[];

extern int on_line_num;

extern int max_user;	

extern pthread_mutex_t num_mutex; 

extern pthread_mutex_t addr_mutex; 

extern pthread_mutex_t name_mutex; 

extern pthread_mutex_t host_mutex;

extern host_list * host_head;

extern host_list * host_tail;

bucket_list hash_insert(char *);

bucket_list hash_lookup(char *);

addr_list addr_insert(int);

addr_list addr_lookup(int);

void init_hash_tab();

void handle_mes(char * str);

void receive_mes(int connfd);

void send_mes(char * buff,int connfd);

void send_name_mes(char * buff,char * name,int connfd);

void print_a();

void print_l();

void do_quit(int connfd);

void host_insert(int connfd,char *host);

host_list * host_delete(int connfd);

void log_err(char * message);

#endif

⌨️ 快捷键说明

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