网络游戏制作:网络游戏制作技术( 2)

   续上在上面我简单说了下服务器完成端口处理部分接下来我想大家介绍下有关如何建立服务器和客户端联系规则也就是服务器和客户端游戏协议部分有不足的处希望大家和我进行交流

   首先解释下这里协议概念协议大家都了解是种通信规则例如:TCP/IPUDP等等这些是我们在网络通信过程中所处理使用协议而我们这里协议是我们游戏服务器和客户端通信规则简而言的也就是客户端发送到服务器数据包和服务器发送数据包双方解释规则下面就通过几个部分来具体介绍这种协议建立和处理

消息头定义

   如果我们能够解释双方数据包意义我们就必须为双方数据包定义个统规则消息头我是这么定义消息头服务器数据包和客户端数据包分别定义区别消息头以下就是双方消息头简单定义

struct ServerMsg_Head //服务器消息头
{
WORD s_version; //版本信息
BYTE s_flages; //消息标志
BYTE s_who; //消息驱动者
BYTE s_sort; //消息类别
BYTE s_value; //消息值
WORD s_len; //消息长度
} ;

struct ClientMsg_Head //客户端消息头
{
WORD c_version; //版本信息
WORD c_flages //消息标志
WORD c_sort; //消息类别
WORD c_value; //消息值
WORD c_scene; //场景信息
WORD c_len; //消息长度
};

以上是我个人简单定义消息头具体各个参数意义就是需要规划设计人来定了这些我就不多说了

   在我们处理完我们消息头后我们就可以将我们具体游戏数据进行打包有关数据打包我们必须要处理两件事情:数据打包数据加密为此我就建立相应来处理这样些操作DataCtrl.h处理如下:

Ppackage类可以拆解为两个单独处理类打包类和解包类而此处我就用下面个类来进行处理只是给大家开个头要设计更好还是靠大家共同来进行斟酌呀!!


PPackage //游戏数据包处理类
{
public:
PPackage(BYTE msg_type); //设置所打包消息类型
virtual ~PPackage;
//消息数据打包部分
void SetMsgHead(void *); //设置消息头
void AddByte(BYTE data); //加入字节
void AddWord(WORD data); //加入 2字节
void AddDword(DWORD data); //加入 4字节
void AddPo(POINT data); //加入 8字节
void AddBuf(char * data , data_len); //加入多个字节
//消息内容获取
void FinishPack; //完成打包
char *GetPackage; //获取数据包
GetPacketLen; //获取数据包长度


//消息数据解包部分
void SetMsgPackage(char *buf, _Len); //将获取消息进行录入
void *GetMsgHead; //获取消息头数据
BYTE GetByte; //获取字节
WORD GetWord; //获取 2字节
DWORD GetDword; //获取 3字节
POINT * GetPo; //获取 4字节
char * GetBuf( buf_len); //获取多字节
bool IfFinishGet; //是否完成解包

private:

void Init;
void Release;
void StartBindPakage; //开始打包
void StartUndoPackage; //开始解包
bool MessageEncrypt; //消息加密
bool MessageUndo; //消息解密

private:

private:
BYTE msg_type; / /{1-SERVER_PACKAGE=1,2-CLIENT_PACKAGE=2}
char * msg_buffer;
char * buffer; //后备缓冲区
msg_len;
//消息内容长度
Server_Msg_Head msg_Head; //消息头
buf_Len;
current_pos; //指针当前位置
protected:
};

   以上就是有关服务器和消息打包类些建立和解释这些方面知识其实也没有什么主要是“仁者见仁智者见智”了而对于网络游戏制作最重要还是在于Game World规划和设计同时这个方面也是最难和最不好处理随后将和大家进行探讨

希望大家好我进行交流QQ :81556019 MSN :[email protected]
Tags:  网络游戏制作软件 如何制作网络游戏 网络游戏外挂制作 网络游戏制作

延伸阅读

最新评论

发表评论