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

📄 px_ls_module_dbes.h

📁 MMORPG游戏服务器端架构及函数
💻 H
字号:
#pragma	  once

/* must been first include begin */
#include "..\ProjectX_Common\ProjectX_Copyright.h"
#include "..\ProjectX_Common\ProjectX_Common.h"
/* must been first include end */

/* std and common include */
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

#define MODULE_DBES_IOCP_BUF_LEN		512
#define MODULE_DBES_RECV_BUF_LEN		512
#define MODULE_DBES_SEND_BUF_LEN		512

typedef struct tagPx_LS_DBES {
	CRITICAL_SECTION *	cts_state;
	CRITICAL_SECTION *	cts_recv;
	CRITICAL_SECTION *	cts_send;
	int					size_recv_append;
	int					size_send_append;
	int					last_handled_frame;
	int					heartbreak;
	byte				send_sign;
	char			*	recv_buf;
	char			*	precv_start;
	char			*	precv_end;
	char			*	precv_append;
	char			*	send_buf;
	char			*	psend_start;
	char			*	psend_end;
	char			*	psend_append; 
}PX_LS_DBES, * LPPX_LS_DBES;

typedef struct tagPx_LS_DBES_Per_Data {
	PX_LS_DBES * pmodule_dbes;
}PX_LS_DBES_PER_DATA, * LPPX_LS_DBES_PER_DATA;

typedef struct tagPx_LS_DBES_Io_Data {
	OVERLAPPED	overlapped;
	char *		buf;
	int			size;
	byte		io_type;
	WSABUF		wsabuf;
}PX_LS_DBES_IO_DATA, * LPPX_LS_DBES_IO_DATA;

void init_module_dbes(void);
void set_module_dbes_state(byte state);
BOOL valid_module_dbes_state(byte state);
void set_module_dbes_send_state(byte state);
void close_module_dbes(void);
void free_module_dbes_resource(void);

void add_buf_to_module_dbes_recv_buf(int size,char * packet);
void add_buf_to_module_dbes_send_buf(int size,char * packet);
void update_module_dbes_send_buf(int size);
int get_module_dbes_send_buf(char * packet);
void tidy_module_dbes_recv_buf(void);
void tidy_module_dbes_send_buf(void);

void handle_module_dbes_recv_buf(void);

void handle_module_dbes_status_refresh(void);
void handle_module_dbes_heartbreak(void);
void tell_module_dbes_close_all_client();

void module_dbes_packet(WORD mc,int size,char * packet);
void messagecode_module_dbes_ack_request_connect(int size,char * packet);
void messagecode_module_dbes_need_version(int size,char * packet);
void messagecode_module_dbes_ack_version_check(int size,char * packet);
void messagecode_module_dbes_need_md5_code(int size,char * packet);
void messagecode_module_dbes_ack_md5_code_check(int size,char * packet);
void messagecode_module_dbes_need_speial_code(int size,char * packet);
void messagecode_module_dbes_ack_special_code_check(int size,char * packet);
void messagecode_module_dbes_send_heartbreak(int size,char * packet);
void messagecode_module_dbes_close_process(int size,char * packet);
void messagecode_module_dbes_close_now(int size,char * packet);
void messagecode_module_dbes_need_login_info(int size,char * packet);
void messagecode_module_dbes_ack_login_info(int size,char * packet);
void messagecode_module_dbes_ack_request_create_account(int size,char * packet);
void messagecode_module_dbes_ack_request_change_account_info(int size,char * packet);
void messagecode_module_dbes_ack_request_login(int size,char * packet);
void messagecode_module_dbes_ack_request_create_char(int size,char * packet);
void messagecode_module_dbes_ack_request_delete_char(int size,char * packet);
void messagecode_module_dbes_send_charlist(int size,char * packet);
void messagecode_module_dbes_ack_request_login_out(int size,char * packet);
void messagecode_module_dbes_send_char_info_preview(int size,char * packet);
void messagecode_module_dbes_send_char_info_paritcular(int size,char * packet);
void messagecode_module_dbes_send_account_charge_info(int size,char * packet);
void messagecode_module_dbes_send_battle_guid_info(int size,char * packet);
void messagecode_module_dbes_send_blacklist_info(int size,char * packet);
void messagecode_module_dbes_send_community_info(int size,char * packet);
void messagecode_module_dbes_send_friends_info(int size,char * packet);
void messagecode_module_dbes_send_learning_info(int size,char * packet);
void messagecode_module_dbes_send_lottery_info(int size,char * packet);
void messagecode_module_dbes_send_marriage_info(int size,char * packet);
void messagecode_module_dbes_send_roup_info(int size,char * packet);
void messagecode_module_dbes_send_skill_info(int size,char * packet);
void messagecode_module_dbes_send_stranger_info(int size,char * packet);
void messagecode_module_dbes_send_task_info(int size,char * packet);
void messagecode_module_dbes_send_war_guid_info(int size,char * packet);
void messagecode_module_dbes_send_warehouse_body_info(int size,char * packet);
void messagecode_module_dbes_send_warhouse_home_info(int size,char * packet);
void messagecode_module_dbes_send_pet_info(int size,char * packet);
void messagecode_module_dbes_send_other_client_request_login(int size,char * packet);
void messagecode_module_dbes_send_lottery_result(int size,char * packet);


DWORD WINAPI module_dbes_connect_thread(PVOID paparm);
DWORD WINAPI module_dbes_iocp_thread(PVOID paparm);





















⌨️ 快捷键说明

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