Hello Pomelo浅析 之web

首先我们从文件夹来看

分成3大部分 1 game-server:这是游戏服务器.属于后台代码. 2 shared:这是服务器和客户端共享的代码 3 web-server:访问web站点的时候与客户端进行连接.

先从简单的web-server开始看起,因为本人也刚刚接触这个东西,因此只能先囫囵吞枣的浏览一遍了,主要了解pomelo及其组件在其中所起的作用.

web-server的整个文件结构如上图所示 web-server的app.js是程序入口点作为我们的突破口 1 它利用express来进行了服务器的创建工作.

var express = require(‘express’);var app = express.createServer();

这两行代码看出来了吧,不过express是什么东东我还不了解,反正它很棒,能够创建出一个app出来

2 它对整个app进行初始化以及对development以及production环境进行设置.

// 这里对整个服务进行初始化app.configure(function(){ app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); app.set(‘view engine’, ‘jade’); app.set(‘views’, __dirname + ‘/public’); app.set(‘view options’, {layout: false}); app.set(‘basepath’,__dirname + ‘/public’);});// 配置开发环境app.configure(‘development’, function(){ app.use(express.static(__dirname + ‘/public’)); app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));});// 配置生产环境app.configure(oneYear = 31557600000; app.use(express.static(__dirname + ‘/public’, { maxAge: oneYear })); app.use(express.errorHandler());});

3 它对3001端口进行监听,并输出调试信息

console.log(“Web server has started.\nPlease log on :3001/index.html”);app.listen(3001);

到此为止服务器就建好了,此时启动起来,访问:3001/index.html这个可以出现以下页面

那么现在问题来了,这个界面是如何加载进来的~ 通过上面我们知道,web服务器启动以后监听了3001端口,在app进行配置的时候,实际上是指定了public作为静态页面的,我们如果把以下这两句话注释掉进,则就不能显示上面看到的页面了.

// 配置开发环境app.configure(‘development’, function(){ app.use(express.static(__dirname + ‘/public’)); app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));});// 配置生产环境app.configure(oneYear = 31557600000; app.use(express.static(__dirname + ‘/public’, { maxAge: oneYear })); app.use(express.errorHandler());});

按照那个public的地址,我们来看它的文件结构

public的结构如上图所示 其中img目录里面能看到静态页面所看到的那2张图片,这个大家自己去看下 而index.html就是连接web-server所展示的静态页面了. 这个静态页面里面用到的pomelo的请求方法

<script type=”text/javascript”>var pomelo = window.pomelo;var host = “127.0.0.1”;var port = “3010”;{pomelo.init({host: host,port: port,log: true}, function() {pomelo.request(“connector.entryHandler.entry”, “hello pomelo”, function(data) {alert(data.msg);});});}</script>

大家看,pomelo的请求非常的直观,这是要求连接connector服务器.connector我后面再讲 pomelo.requrest里面有个callback方法,用于服务器响应以后的回调

pomelo.request(“connector.entryHandler.entry”, “hello pomelo”, function(data) {alert(data.msg);});

这里就非常好理解了! 注意,还有一个重量级的目录–node_module

整个入口点非常简洁,有了express的支持以后只要对它进行配置就好了,再配合一个简单的静态页面,通过pomelo的支持,可以像调用函数那样对远程的服务器发起请求. 这个node_module里面有express 就是我们在入口点看到的那个组件,大部分工作都是由它来完成的! 至于express是什么,请点击这里. 这也作为了解pomelo的第一个重要步骤. 接下来我们再讲game-server

,有一种缘,放手后成为风景,有一颗心,坚持中方现真诚。

Hello Pomelo浅析 之web

相关文章:

你感兴趣的文章:

标签云: