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

📄 px_ls_module_rs.c

📁 MMORPG游戏服务器端架构及函数
💻 C
字号:
/* 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>
#include <winsock2.h>

//program specify include
#include "..\ProjectX_Common\ProjectX_Shared.h"
#include "..\ProjectX_Common\ProjectX_Utils.h"
#include "..\ProjectX_Common\ProjectX_MessageCode.h"
#include "px_ls_common.h"
#include "px_ls_config.h"
#include "px_ls_state.h"
#include "px_ls_statistic.h"
#include "px_ls_time_service.h"
#include "px_ls_ui.h"
#include "px_ls_module_rs.h"
#include "px_ls_account.h"
#include "px_ls_char.h"

HANDLE					h_event_routing = NULL;					/* 连接到rs的线程信号 */
HANDLE					h_iocp_module_rs = NULL;
SOCKET					sck_module_rs = NULL;
SOCKADDR_IN				addr_module_rs;

PX_LS_RS_PER_DATA * module_rs_per_data = NULL;
PX_LS_RS_IO_DATA * module_rs_io_recv = NULL;
PX_LS_RS_IO_DATA * module_rs_io_send = NULL;


DWORD WINAPI module_rs_connect_thread(PVOID paparm){
	return 0;
}
DWORD WINAPI module_rs_iocp_thread(PVOID paparm){
	return 0;
}

void init_module_rs(){
	return;
}
void set_module_rs_state(byte state){
	return;
}
BOOL valid_module_rs_state(byte state){
	return TRUE;
}
void set_module_rs_send_state(byte state){
	return;
}
void close_module_rs(){
	return;
}
void free_module_rs_resource(){
	return;
}

void add_buf_to_module_rs_recv_buf(int size,char * packet){
	return;
}
void update_module_rs_send_buf(int size){
	return;
}
int get_module_rs_send_buf(char * packet){
	return 0;
}
void tidy_module_rs_recv_buf(){
	return;
}
void tidy_module_rs_send_buf(){
	return;
}

void handle_module_rs_status_refresh(){
	return;
}

void handle_module_rs_heartbreak(){
	return;
}

void handle_module_rs_recv_buf(){
	//
	return;
}

void module_rs_packet(WORD mc,int size,char * packet){
	if ((mc <= MCRS_LS_START)||(mc > MCRS_LS_FINAL)) {
		//error messagecode found,log it or simple return
		return;
	}
	switch(mc) {
	case MCRS_LS_ACK_REQUEST_CONNECT:
		messagecode_module_rs_ack_request_connect(size, packet);
		break;
	case MCRS_LS_NEED_VERSION:
		messagecode_module_rs_need_version(size, packet);
		break;
	case MCRS_LS_ACK_VERSION_CHECK:
		messagecode_module_rs_ack_version_check(size, packet);
		break;
	case MCRS_LS_NEED_MD5_CODE:
		messagecode_module_rs_need_md5_code(size, packet);
		break;
	case MCRS_LS_ACK_MD5_CODE_CHECK:
		messagecode_module_rs_ack_md5_code_check(size, packet);
		break;
	case MCRS_LS_NEED_SPECIAL_CODE:
		messagecode_module_rs_need_special_code(size, packet);
		break;
	case MCRS_LS_ACK_SPECIAL_CODE:
		messagecode_module_rs_ack_special_code_check(size, packet);
		break;
	case MCRS_LS_REQUEST_STATUS:
		messagecode_module_rs_request_status(size, packet);
		break;
	case MCRS_LS_SEND_HEARTBREAK:
		messagecode_module_rs_send_heartbreak(size, packet);
		break;
	case MCRS_LS_REQUEST_CLOSE:
		messagecode_module_rs_request_close(size, packet);
		break;
	case MCRS_LS_REQUEST_CLOSE_NOW:
		messagecode_module_rs_request_close_now(size, packet);
		break;
	case MCRS_LS_NEWCLIENT_CONNECT:
		messagecode_module_rs_newclient_connect(size, packet);
		break;
	case MCRS_LS_CLIENT_DISCONNECT:
		messagecode_module_rs_client_disconnect(size, packet);
		break;
	case MCRS_LS_CLIENT_PACKET:
		messagecode_module_rs_client_packet(size, packet);
		break;
	case MCRS_LS_INFO_FROM_BROADCAST:
		messagecode_module_rs_info_from_broadcast(size, packet);
		break;
	case MCRS_LS_INFO_FROM_THIRD_LS:
		messagecode_module_rs_info_from_third_ls(size, packet);
		break;
	case MCRS_LS_DOUBT_CLIENT_AH:
		messagecode_module_rs_doubt_client_ah(size, packet);
		break;
	default:
		//here found undefine messagecode
		break;
	}
	return;
}

void messagecode_module_rs_ack_request_connect(int size, char * packet){
	return;
}

void messagecode_module_rs_need_version(int size, char * packet){
	return;
}

void messagecode_module_rs_ack_version_check(int size, char * packet){
	return;
}

void messagecode_module_rs_need_md5_code(int size, char * packet){
	return;
}

void messagecode_module_rs_ack_md5_code_check(int size, char * packet){
	return;
}

void messagecode_module_rs_need_special_code(int size, char * packet){
	return;
}

void messagecode_module_rs_ack_special_code_check(int size, char * packet){
	return;
}

void messagecode_module_rs_request_status(int size, char * packet){
	return;
}

void messagecode_module_rs_send_heartbreak(int size, char * packet){
	return;
}

void messagecode_module_rs_request_close(int size, char * packet){
	return;
}

void messagecode_module_rs_request_close_now(int size, char * packet){
	return;
}

void messagecode_module_rs_newclient_connect(int size, char * packet){
	return;
}

void messagecode_module_rs_client_disconnect(int size, char * packet){
	return;
}

void messagecode_module_rs_client_packet(int size, char * packet){
	return;
}

void messagecode_module_rs_info_from_broadcast(int size, char * packet){
	return;
}

void messagecode_module_rs_info_from_third_ls(int size, char * packet){
	return;
}

void messagecode_module_rs_doubt_client_ah(int size, char * packet){
	return;
}

⌨️ 快捷键说明

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