Nodejs简单应用,自制的烽烟注册系统说明
2015-06-24 10:15
866 查看
这个东西本来是无忧运行烽烟ol文章中的一部分,但因为文档不能下载了,所以在自己的博客重新发一次,还是以烽烟为例,
一个大坑出现了,为什么呢?因为我们没有注册用户,如何注册?客户端里貌似没提供5555555555555555
没办法,都到这步了,没什么能阻止我们进入游戏了,既然数据库里没数据,我们写数据进去就行了,看下数据库文件
数据库注册信息sql语句是这样的,我大致解释一下,`id` int(11) NOT NULLAUTO_INCREMENT COMMENT '用户id',这是用户id并且设置了主键,不用我们写入信息,会自动递增
`username` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户密码',
`email` varchar(255) CHARACTER SET utf8COLLATE utf8_bin DEFAULT '' COMMENT '用户注册邮箱',
这3个是要外部写入了,NOT NULL说明不能为空,是我们注册时必须要做的,
后面的几项都有DEFAULT这个条件,所以可以不写(当然自己填的时候,要写),知道这个结构了我们就没什么好犹豫的了,打开Mysqlnavigator
进去直接写数吧,是不是有些过于简单粗暴了?如果加个用户就进去写一次,当只有自己一个人玩的时候,当然没什么,但随着注册用户增多,数据库就会变得不可维护,因为如果自己填写东西的话,包括id,和DEFAULT这些都要填写,但进入游戏之后,DEFAULT这些数据其实是会被游戏自动修改的,而且,如果不小心,会出现两个相同用户名的情况,截个图给大家看
上面仔细看就会发现1931和1932两个id的用户名是一样的,这是我在开发注册系统的时候,开始没有对数据库做查询判断,出的错误,其实如果自己填写数据库表格,很容易出现这样的错误,如果出了这样的错误,那么登陆游戏肯定会出问题,怎么办?自己动手丰衣足食是根本。当然有些同学没搞过相关开发,于是乎,不用担心,我写好了给大家,好了不多说,过后我会把源码放出来,大家如果有时间,完全可以用我提供的源码来自己改写一个服务器的数据库维护工具,首先要先安装服务器,我这里用的是node.js,打开终端输入
sudo apt-get install nodejs(问我为什么用nodejs,)【Node.js
是一个基于Chrome JavaScript
运行时建立的一个平台,用来方便地搭建快速的,易于扩展的网络应用· Node.js
借助事件驱动,非阻塞I/O
模型变得轻量和高效,非常适合 run across distributeddevices
的 data-intensive
的实时应用·】以上是百度给的解释,并不代表我的意见,跟写nodejs相比,我更习惯于用php, 不过为啥这里用nodejs呢,因为本来我这个ubuntu系统就是用来学习网易Pomelo这个开源项目的,所以nodejs本来就装好的,不习惯的也先凑合用吧,过几天有时间的话,我再写个php的来充数。不过话说那样还要装Apache和php5,不废话了(这废话就够多的了)
好了注册服务器启动成功了,具体操作看图就能明白,在fengyanolreg目录下输入node app
之后我们开浏览器,
直接点立即注册(当然上面那个注册也一样),
为防止恶意注册,注册规则严格按照正常的网站注册规则(可能比正常还要严一点,大小写,位数,邮箱规则,特殊符号我都做了规定,胡乱写的话比如用户名写成1test5557会如图)
好了,我们按原来的信息注册,用户名test5557,密码111111(本来密码用MD5加密的,但客户端代码的MD5加密之后,发现两边数值不一样,看来两种语言还是差别不小,没解决之前用明文吧),点注册
注册成功
前端,后台都通过了注册
好了,在注册纠结了这么久,进游戏吧,回到游戏客户端登陆界面
是键入原来一样的数据,登陆
进来了,选个喜欢的职业吧,很酷的人物选择界面(CreateRoleFTViewMediator.as这里实现的,等换皮的时候我们再讨论),现在选人进游戏,起名进游戏,
好了这个东东就介绍到这里,代码下载地址,关于烽烟以及其他as3页游换皮的问题,我们以后在讨论。
一个大坑出现了,为什么呢?因为我们没有注册用户,如何注册?客户端里貌似没提供5555555555555555
没办法,都到这步了,没什么能阻止我们进入游戏了,既然数据库里没数据,我们写数据进去就行了,看下数据库文件
/*Table structure for table `tb_register` */ DROP TABLE IF EXISTS `tb_register`; CREATE TABLE `tb_register` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id', `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户名', `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户密码', `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '' COMMENT '用户注册邮箱', `characterId` int(10) DEFAULT '0' COMMENT '用户的角色ID', `pid` int(11) DEFAULT '-1' COMMENT '邀请人的角色id', `lastonline` datetime NOT NULL DEFAULT '2012-06-05 00:00:00' COMMENT '最后在线时间', `logintimes` int(11) NOT NULL DEFAULT '0' COMMENT '登陆次数', `enable` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否可以登录', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1915 DEFAULT CHARSET=utf8; /*Data for the table `tb_register` */
数据库注册信息sql语句是这样的,我大致解释一下,`id` int(11) NOT NULLAUTO_INCREMENT COMMENT '用户id',这是用户id并且设置了主键,不用我们写入信息,会自动递增
`username` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户密码',
`email` varchar(255) CHARACTER SET utf8COLLATE utf8_bin DEFAULT '' COMMENT '用户注册邮箱',
这3个是要外部写入了,NOT NULL说明不能为空,是我们注册时必须要做的,
后面的几项都有DEFAULT这个条件,所以可以不写(当然自己填的时候,要写),知道这个结构了我们就没什么好犹豫的了,打开Mysqlnavigator
进去直接写数吧,是不是有些过于简单粗暴了?如果加个用户就进去写一次,当只有自己一个人玩的时候,当然没什么,但随着注册用户增多,数据库就会变得不可维护,因为如果自己填写东西的话,包括id,和DEFAULT这些都要填写,但进入游戏之后,DEFAULT这些数据其实是会被游戏自动修改的,而且,如果不小心,会出现两个相同用户名的情况,截个图给大家看
上面仔细看就会发现1931和1932两个id的用户名是一样的,这是我在开发注册系统的时候,开始没有对数据库做查询判断,出的错误,其实如果自己填写数据库表格,很容易出现这样的错误,如果出了这样的错误,那么登陆游戏肯定会出问题,怎么办?自己动手丰衣足食是根本。当然有些同学没搞过相关开发,于是乎,不用担心,我写好了给大家,好了不多说,过后我会把源码放出来,大家如果有时间,完全可以用我提供的源码来自己改写一个服务器的数据库维护工具,首先要先安装服务器,我这里用的是node.js,打开终端输入
sudo apt-get install nodejs(问我为什么用nodejs,)【Node.js
是一个基于Chrome JavaScript
运行时建立的一个平台,用来方便地搭建快速的,易于扩展的网络应用· Node.js
借助事件驱动,非阻塞I/O
模型变得轻量和高效,非常适合 run across distributeddevices
的 data-intensive
的实时应用·】以上是百度给的解释,并不代表我的意见,跟写nodejs相比,我更习惯于用php, 不过为啥这里用nodejs呢,因为本来我这个ubuntu系统就是用来学习网易Pomelo这个开源项目的,所以nodejs本来就装好的,不习惯的也先凑合用吧,过几天有时间的话,我再写个php的来充数。不过话说那样还要装Apache和php5,不废话了(这废话就够多的了)
好了注册服务器启动成功了,具体操作看图就能明白,在fengyanolreg目录下输入node app
之后我们开浏览器,
直接点立即注册(当然上面那个注册也一样),
为防止恶意注册,注册规则严格按照正常的网站注册规则(可能比正常还要严一点,大小写,位数,邮箱规则,特殊符号我都做了规定,胡乱写的话比如用户名写成1test5557会如图)
好了,我们按原来的信息注册,用户名test5557,密码111111(本来密码用MD5加密的,但客户端代码的MD5加密之后,发现两边数值不一样,看来两种语言还是差别不小,没解决之前用明文吧),点注册
注册成功
前端,后台都通过了注册
好了,在注册纠结了这么久,进游戏吧,回到游戏客户端登陆界面
是键入原来一样的数据,登陆
进来了,选个喜欢的职业吧,很酷的人物选择界面(CreateRoleFTViewMediator.as这里实现的,等换皮的时候我们再讨论),现在选人进游戏,起名进游戏,
好了这个东东就介绍到这里,代码下载地址,关于烽烟以及其他as3页游换皮的问题,我们以后在讨论。
相关文章推荐
- 在Mac OS下使用Node.js的简单教程
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- nodeJS的express框架的搭建
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- 在Mac OS下使用Node.js的简单教程
- 用递归读取数据库(*.MDB)生成树节点(TreeNode)
- C#的Event类. nodejs的Event风格
- Namenode和Secondarynamenode的关系
- nodejs Async详解之三:集合操作
- nodejs Async详解之二:工具类
- HADOOP 格式化 namenode节点 准备脚本
- 浅析Node.js中的内存泄漏问题
- Nodejs服务器管理模块forever
- iOS之GDataXMLNode对XML解析
- nodejs实战的github地址,喜欢的你还等啥
- 充分发挥Node.js程序性能的一些方法介绍
- Node.js编程中客户端Session的使用详解
- 使用Meteor配合Node.js编写实时聊天应用的范例
- Count Complete Tree Nodes LeetCode Java
- 使用Node.js为其他程序编写扩展的基本方法