📄 px_rs_module_ss.h
字号:
#ifndef _PX_RS_MODULE_SS_
#define _PX_RS_MODULE_SS_
/* 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>
typedef struct tagPx_RS_Module_SS_Info {
CRITICAL_SECTION * cts_state;
CRITICAL_SECTION * cts_recv;
CRITICAL_SECTION * cts_send;
int size_recv_append;
int size_send_append;
int last_heartbreak_frame;
int last_heartbreak;
int last_frame_handled;
unsigned int ip;
u_short port;
byte state;
byte send_sign;
SOCKET s_client;
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_RS_MODULE_SS_INFO, * LPPX_RS_MODULE_SS_INFO;
typedef struct tagPx_RS_SS_Per_Data {
PX_RS_MODULE_SS_INFO * psi;
}PX_RS_SS_PER_DATA, * LPPX_RS_SS_PER_DATA;
typedef struct tagPx_RS_SS_Io_Data {
OVERLAPPED overlapped;
char * buf;
int size;
byte io_type;
WSABUF wsabuf;
}PX_RS_SS_IO_DATA, * LPPX_RS_SS_IO_DATA;
typedef struct tagPx_RS_SS_Key {
PX_RS_SS_PER_DATA * per_data;
PX_RS_SS_IO_DATA * io_recv;
PX_RS_SS_IO_DATA * io_send;
}PX_RS_SS_KEY, * LPPX_RS_SS_KEY;
void init_module_ss(void);
void close_module_ss(void);
void disconnect_module_ss(void);
void free_module_ss_resource(void);
void set_module_ss_state(byte state);
void set_module_ss_send_state(byte state);
BOOL valid_module_ss_state(byte state);
void add_buf_to_module_ss_recv_buf(int size, char * packet);
void add_buf_to_module_ss_send_buf(int size, char * packet);
int get_module_ss_send_buf(char * packet);
void handle_module_ss_recv_buf(void);
void handle_first_connect_request(void);
void handle_module_ss_packet(WORD mc,WORD size,char * packet);
void handle_module_ss_heartbreak(void);
void module_ss_send_rs_need_close(void);
void handle_module_ss_status_refresh(void);
void module_ss_packet_ack_request_login(WORD size, char * packet);
//other message code packet does
DWORD WINAPI module_ss_connect_thread(PVOID paparm);
DWORD WINAPI module_ss_iocp_thread(PVOID paparm);
#endif //_PX_RS_MODULE_SS_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -