Nodejs簡單應用,自制的烽煙註冊系統說明

這個東西本來是無憂運行烽煙ol文章中的一部分,但因爲文檔不能下載了,所以在自己的博客重新發一次,還是以烽煙爲例,



一個大坑出現了,爲什麼呢?因爲我們沒有註冊用戶,如何註冊?客戶端裏貌似沒提供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的來充數。不過話說那樣還要裝Apachephp5,不廢話了(這廢話就夠多的了)


好了註冊服務器啓動成功了,具體操作看圖就能明白,在fengyanolreg目錄下輸入node app

之後我們開瀏覽器,

直接點立即註冊(當然上面那個註冊也一樣)

爲防止惡意註冊,註冊規則嚴格按照正常的網站註冊規則(可能比正常還要嚴一點,大小寫,位數,郵箱規則,特殊符號我都做了規定,胡亂寫的話比如用戶名寫成1test5557會如圖)

好了,我們按原來的信息註冊,用戶名test5557,密碼111111(本來密碼用MD5加密的,但客戶端代碼的MD5加密之後,發現兩邊數值不一樣,看來兩種語言還是差別不小,沒解決之前用明文吧),點註冊

註冊成功

前端,後臺都通過了註冊

好了,在註冊糾結了這麼久,進遊戲吧,回到遊戲客戶端登陸界面

是鍵入原來一樣的數據,登陸

進來了,選個喜歡的職業吧,很酷的人物選擇界面(CreateRoleFTViewMediator.as這裏實現的,等換皮的時候我們再討論),現在選人進遊戲,起名進遊戲,

好了這個東東就介紹到這裏,代碼下載地址,關於烽煙以及其他as3頁遊換皮的問題,我們以後在討論。




 


發佈了66 篇原創文章 · 獲贊 57 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章