-
Notifications
You must be signed in to change notification settings - Fork 110
realtime app chatofpomelo chinese
fantasyni edited this page May 3, 2014
·
1 revision
pomelo是一个游戏服务器框架,与以往单进程的游戏框架不同, 它是高性能、高可伸缩、分布式多进程的游戏服务器框架,并且使用很简单。它包括基础开发框架和一系列相关工具和库,可以帮助开发者省去游戏开发中枯燥的重复劳动和底层逻辑工作,免除开发者的重造轮子,让开发者可以更多地去关注游戏的具体逻辑,大大提高开发效率。pomelo强大的可伸缩性和灵活性使得pomelo也可以作为通用的分布式实时应用开发框架,用于一些高实时应用的开发,而且pomelo在很多方面的表现甚至超越了现有的开源实时应用框架。pomelo支持所有主流平台的客户端,并提供了客户端的开发库,使得客户端的开发变得很友好。 通过使用 Bearcat, 基于pomelo开发的实时应用将会变得更加简单, 快速和可维护.
让我们开始Bearcat实战系列教程 -- realtime app chatofpomelo
Pomelo 对handler和remote进行了抽象, 开发者只需要依照pomelo的规范在指定的文件夹下面编写好handler和remote用以处理客户端的请求和rpc的调用, 就可以很快的搭建起弹性, 可伸缩的实时应用. handler 和 remote 其实都可以封装成为一个简单 POJOs, 通过bearcat进行统一管理, 就可以使得handler和remote里面的代码不再孤立, 变的简单, 可重用的和可维护的.
像这样的问题都可以迎刃而解
require 不够友好
handler共享
添加 bearcat 到 package.json
"bearcat": "~0.1.0"
添加 context.json
{
"name": "chatofpomelo-websocket-bearcat",
"beans": []
}
var contextPath = require.resolve('./context.json');
var bearcat = Bearcat.createApp([contextPath]);
bearcat.start(function() {
app.set('bearcat', bearcat);
// start app
app.start();
});
module.exports = function(app) {
var bearcat = app.get('bearcat');
return bearcat.getBean({
id: "gateHandler",
func: Handler,
args: [{
name: "app",
value: app
}]
});
};
var Handler = function(app) {
this.app = app;
};
module.exports = function(app) {
var bearcat = app.get('bearcat');
return bearcat.getBean({
id: "chatRemote",
func: ChatRemote,
args: [{
name: "app",
value: app
}]
});
};
var ChatRemote = function(app) {
this.app = app;
this.channelService = app.get('channelService');
};
node app.js
项目完整的代码在 chatofpomelo-websocket-bearcat