##前言## 由于目前pomelo公开资料没有什么教程类的,打算花一周时间学习一下pomelo.所以就简单的写个学习笔记,用来记录一下。
应该会有7篇,这篇应该是星期一学习的量,由于各种原因,总结慢了。。。 ##通读api## 个人认为,竟然要使用一个框架,对于框架提供的api必须要烂熟与心,pomelo的api 还是挺少的,所以量化一下,让初学者感觉读api不是那么可怕的事情。
<!–more–> ###7个大类###
Application (31 个方法)
由于这块的方法比较多,简单分一下类
环境
getBase();
set();
get
enabled();
disabled();
enbale();
disable();
configure();
初始化
start();
registerAdmin()
filter();
before()
after()
load()
loadConfig();
组件相关
route
获取相关配置,组件方法
getMaster()
getCurServer()
getServerId()
getServerType();
getServers();
getServersFromConfig();
getServerTypes();
getServerById();
getServerFromConfig();
getServersByType();
isFrontend()
isBackend()
isMaster()
addServers();
removerServers();
下面几个大类,方法比较少就不分类了。
ChannelService (5 个方法)
Channel (6 个方法)
LocalSessionService ( 4个方法)
LocalSession (6个方法)
SessionService (4个方法)
Pomelo(1个方法)
##Pomelo : Hello world ##
安装好pomelo 要创建一个项目很简单:
pomelo init heloworld
ok,我们的一个helloworld 就这样完成了。
###客户端编写### 我们来看一下,客户端如何与服务端进行通信的
var pomelo = window.pomelo;
var host = "127.0.0.1";
var port = "3010";
function show() {
pomelo.init({
host: host,
port: port,
log: true
}, function() {
pomelo.request("connector.entryHandler.entry", "hello pomelo", function(data) {
alert(data.msg);
});
});
}
从request请求connnecor.entryHandler.entry
我们在game-server目录
app/servers/connector/handler/entryHandler.js
找到这么一个文件,打开这个文件以后我们发现了entry这个方法,现在我们能感叹,对于pomelo的通讯居然能够做到如此简单,为了验证我们的想法。我们在这个js文件里面加入
Handler.prototype.helloworld = function(msg, session, next){
console.log(msg);
console.log(session);
next(null, {code: 200, msg: 'Hello world!'});
}
接着客户端修改:
pomelo.request("connector.entryHandler.helloworld", "hello pomelo", function(data) {
alert(data.msg);
});
});
运行项目,然后就能看到我们成功完成服务端与客户端的通讯了。
今天,我们简单的搞明白了pomelo 如何创建项目,然后,客户端如何发起请求,已经服务端如何编写能够接受客户端请求的方法。
学习了。
POMELO 是个游戏框架,怎么跟游戏前端的没有看到?给我的感觉就是个增强版的通讯工具(enhanced sockit.io)。
都是神人,那么晚都没睡
实际上pomelo 就是一个游戏后端的框架。。。前端没pomelo的事情。。。(个人观点),我的感觉跟你的一样。。不过,实际上,一个网络游戏,背后干的不就是一个基于数据的通讯?
@hexie 你也是
@leapon pomelo官方的定义是构建实时应用。。。。你提到的就是pomelo干的事情。。
惭愧, 写教程真是个艰巨的任务啊
赞一个~ 期待后续~
pomelo是否是只支持socket.io,不支持socket?
服务端是支持socket的,不过现在还没有官方支持的客户端。。
你可以参考这个issue https://github.com/NetEase/pomelo/issues/229