游戏协议
来源:互联网 发布:淘宝卖家查看店铺粉丝 编辑:程序博客网 时间:2024/04/26 12:06
#include<iostream>using namespace std;enum Protocol {login2,enterbattle}; //首先声明一个枚举类型作为协议定义,枚举值为0即为login2表示传输的是登陆信息,枚举值为1即为enterbattle表示传输的是进入战斗信息struct _LOGIN{enum Protocol protocol; char account[10];char password[10];};//然后是协议的结构体定义,所有的协议结构体定义的第一个数据类型都是协议枚举,表示传递的是什么信息,后面的是这个信息附带的数据,//这里是一个登录信息的结构体,后面附有登录账号和登录密码信息。void LOGIN(void *msg){struct _LOGIN* login1=(_LOGIN*)msg;cout<<"login"<<endl<<login1->account<<endl<<login1->password<<endl;}//然后这里是一个处理登录信息的函数,函数参数为空类型指针,用于传递各种类型的指针(感觉这里也可以用_LOGIN结构体类型的指针,//因为这就是一个处理登录信息的函数,传递的实参肯定是_LOGIN结构体类型的指针)//这里先声明一个登录结构体的指针,然后将空类型的参数强制类型转换成登录结构体类型的指针,再赋值给声明的结构体指针//然后通过结构指针用->访问传递的信息void (*act[2]) (void *msg);//这里是声明的一个函数指针数组,这个函数指针的数组的用处就在于当传递的信息不同时,调用不同的函数处理这个信息,//函数数组的大小就是需要处理的不同类型的信息的个数,也就是可能需要调用的处理信息的函数的个数,//函数参数为空类型指针用于传递各种类型的指针//协议枚举的值即对应着函数指针数组中的值,int main(){struct _LOGIN login;login.protocol=login2;cin>>login.account>>login.password;act[0]=LOGIN;act[login.protocol]((void*)&login);return 0;}
0 0
- 游戏协议
- Erlang游戏开发-协议
- 游戏协议测试理论
- Erlang游戏开发-协议
- 游戏协议整理
- 游戏协议加密及身份验证
- 用SRP6协议实现游戏登录流程
- 用SRP6协议实现游戏登录流程
- 用SRP6协议实现游戏登录流程
- 游戏协议加密(1)-消息摘要
- 游戏开发中网络通讯协议对比
- 游戏开发中网络通讯协议对比
- 游戏协议加密(1)-消息摘要
- 游戏开发中网络通讯协议对比
- 出售弹弹堂2.3Flash网页游戏通讯协议
- 卡牌手机游戏基于HTTP协议的服务端设计方案
- 苹果和谷歌提供独家游戏开发者协议
- 游戏服务器到底该选哪种网络协议?(1)
- 自己动手写Tomcat
- HDU 2027 统计元音
- Codeforces Round #105 (Div. 2) D 概率DP
- 解决eclipse 工程前出现红色感叹号 但没有提示错误出在什么地方build path jar包也没报错
- 初识web前端开发
- 游戏协议
- CODEVS 3269 混合背包
- 简易煮面条
- ASP.NET动态网站开发培训-34.互动论坛制作(二、制作母版页和使用母版页)
- 【基础常识】认识C语言
- 使用NPOI导入导出标准Excel
- JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- hadoop mapreduce 之wordcount 编译执行
- IIS Express 启用目录浏览