前言
关键字:NodeJs、express、http server
1。设置http服务器
1.什么是弱联网?
游戏主体,没有网络也可以玩→单机游戏。
但为了优化游戏体验,培养用户粘性,我们通常会设计好友排名、评分、道具、抽奖等环节,这些环节都需要联网,而这些都需要借助弱联网技术来完成。
弱联网技术一般需要访问服务器,通常使用http服务器,即web服务器+数据库。
用什么技术?
主流的服务器开发语言都有http技术和成熟的应用。Java:Tomcat,Python:tornado,c#:IIS;Node.js中有一个express模块,是一个轻量级的http服务器。用JavaScript开发。
2.设置http服务器
(1)安装node . js:***.baidu.com –& gtNode.js & # 8211& gt节点-v –& gt打印出Node.js的版本;
(2)安装express: express基于Node.js http框架。
百度搜索进入GitHub官网,点击回车,搜索快递,如上图。然后,单击输入。在磁盘上新建一个文件夹webserver,进入这个文件夹,按住Shift键,右键选择【在此打开命名窗口】,然后执行命令:npm install express,install express。参考https://github.com/expressjs/express
(3)建立一个http服务器–& gt6行代码;在webserver文件夹中创建一个新的***in.js文件,并修改文件的内容,如下所示:
1. `var express = require('express'); // creatorApplication: 帮助我们创建一个web app实例;`3. `var app = express(); // app 的实例;`5. `// 百度新闻:国内http://news.baidu.com/guoji --->一个站点里面不同地址;`6. `// 百度欣慰:国际http://news.baidu.com/guonei`7. `// http://news.baidu.com/: 站点: IP(服务器IP + 域名解析) + 端口;`8. `// 域名 ---》DNS服务器---》解析得到IP地址;`9. `// http://news.baidu.com/ ---> http://news.baidu.com:80/`10. `// 站点IP: 127.0.0.1, 端口: 服务器指定: 8080;`11. `// http://127.0.0.1:8080/`12. `// 地址的响应请求, --->处理函数;`13. `// 地址:响应请求`14. `// http://127.0.0.1:8080/lucky ---> funtion()`15. `// req 客户端发过来的请求对象,数据都再里面;`16. `// res: 服务端会数据给客户端的 对象;`18. `app.get('/lucky', function(req, res) {`19. `var ret = 1+ Math.random() * 7;`20. `ret = Math.floor(ret);`21. `res.send(""+ ret);`22. `});`
app . listen(8080);//站点端口;如下图,打开webserver目录下的命令窗口,输入node .***in.js,启动抽奖游戏后台服务。然后在浏览器地址栏输入localhost:8080/lucky,效果如下:
二。客户端向http服务器发送请求并显示数据
1.***客户发送一个请求。
在脚本中创建新的gamemgr.js,添加onsendhttpclick方法,点击开始按钮时调用该方法。将gamemgr自定义脚本绑定到画布,选择开始按钮节点,将开始按钮节点上的按钮组件的Click Events属性值修改为1,按enter,然后拖动画布,选择gamemgr,选择onsendhttp_click方法。这样,点击开始按钮就会调用这个方法。
1.` var http = require(" http ");`2.` var lucky _ anim = require(" lucky _ anim ");` 3.` CC。类({` 4 .`扩展名:CC。组件' 5 .'属性:{ ' 6 .'磁盘:{ ' 7 .'类型:Lucky _ Anim,' 8。`默认值:null, ` 9 .`},` 10..台湾相继发送http请求调用服务` 12 .` on _ send _ HTTP _ click(){ ` 13 .`//HTTP标准库-->;H5查看http.js源代码` 14 . ` http . get(" http://127 . 0 . 0 . 1:8080 ","/lucky ",null,function (err,ret){ ` 15 . if(err){ ` 16 . return;`17.`}`18.` ret = parse int(ret);`19.` this . show _ anim(ret);//展示抽奖动画` 20。`}.绑定(这个));` 21.`},`22.` show_anim(ret) {//显示抽奖动画` 23。`//抽奖盘开始抽` 24。` this . disk . start _ lucky _ draw(ret);`25.`},`26.`});`将luckyanim.js绑定到磁盘节点(左下),将Canvas绑定的自定义脚本gamemgr的disk属性值设置到磁盘节点。
2. 跨域访问问题2.跨域访问问题
跨域访问:网页的地址:http://localhost:7456/;可能不安全的外部网页;–& gt服务器,跨域访问的问题,服务器的地址http://127 . 0 . 0 . 1:8080;出于安全原因拒绝访问;—& gt收到此错误;跨域访问问题。
***blog代码,在***in.js中的var app = express();后、发送请求前,添加如下代码://设置跨域访问***博客代码,var app = express()在***in.js中;在发送请求之前,添加以下代码://Set cross-do***in access
1. `app.all('*', function(req, res, next) {`2. `res.header("Access-Control-Allow-Origin", "*");`3. `res.header("Access-Control-Allow-Headers", "X-Requested-With");`4. `res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");`5. `res.header("X-Powered-By", ' 3.2.1');`6. `res.header("Content-Type", "application/json;charset=utf-8");`7. `next();`8. `});`
三。摘要
1.下载Node.js,用GitHub搜索express,用nodejs安装express(npm install express)。
2。参考GitHub构建一个httpserver。
3。客户端调用http.js中的get方法发送http请求,请求服务器获取一个随机数。
本文来自西狸森溪寒风投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/480532.html