纳金网
标题:
node.js + pomelo + mongoose 服务端开发
[打印本页]
作者:
王者再临
时间:
2014-12-8 23:46
标题:
node.js + pomelo + mongoose 服务端开发
1)node.js服务器开发
npm-isntall.sh 里面调用npm install -d 这样根据当前目录的package.json里面描述的所需要的node_modules来安装对应的模块
2)定义mongoose里面的schemas
3) gate
rotes 文件夹 这个是一个路由文件夹 这里面的程序可以理解成 控制器 在这里调用试图文件
4)
app.js 文件 应用程序启动文件
5)
package.json文件 应用程序配置文件
6)node中的搭建服务器:var http = require('http');
http.createServer(function(request, response){});
http.listin(888);
7)mongoose里面的schemas是定义数据库模型的结构定义,preload.js是定义加载的schemas列表,
8)mongoose
Schema
: 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
Model
: 由
Schema
发布生成的模型,具有抽象属性和行为的数据库操作对
Entity
: 由
Model
创建的实体,他的操作也会影响数据库.
Schema
、
Model
、
Entity
的关系请牢记,
Schema
生成
Model
,
Model
创造
Entity
,
Model
和
Entity
都可对数据库操作造成影响,但
Model
比
Entity
更具操作性。
9)最简单的创建记录
dao.create = function() {
var cindyModel = dbMongoose.model('cindyAccount');
var cindyEntity = new cindyModel({name:'cindy'});
console.log(cindyEntity.name);
cindyEntity.save();
}
10)game-server采用的是pomelo框架,修改了pomelo原生的web socket长链接,然后改成了pomeloplugin.httpconnector变成了短连接。
11)mongoose很好的官方网站
http://mongoosejs.com/docs/api.html#types_array_MongooseArray-push
http://www.w3cschool.cc/mongodb/mongodb-aggregate.html
http://docs.mongodb.org/manual/core/aggregation-introduction/
12)strangioc里面的command,是
Execute
执行的时候
dispatcher
.
AddListener
(
Formation_Event
.
FORMATION_SAVE_TOSERVER
,
OnSaveToServer
);所以千万别忘记执行完毕必须把这个命令的监听取消,监听和移除是对应的
class
PostScoreCommand
:
EventCommand
{
[Inject]
IServer gameServer{get;set;}
override public void Execute()
{
Retain();
int score = (int)evt.data;
gameServer.dispatcher.AddListener(ServerEvent.SUCCESS, onSuccess);
gameServer.dispatcher.AddListener(ServerEvent.FAILURE, onFailure);
gameServer.send(score);
}
private void onSuccess()
{
gameServer.dispatcher.RemoveListener(ServerEvent.SUCCESS, onSuccess);
gameServer.dispatcher.RemoveListener(ServerEvent.FAILURE, onFailure);
//...do something to report success...
Release();
}
private void onFailure(object payload)
{
gameServer.dispatcher.RemoveListener(ServerEvent.SUCCESS, onSuccess);
gameServer.dispatcher.RemoveListener(
ServerEvent.FAILURE, onFailure);
//...do something to report failure...
Release();
}
}
}
复制代码
作者:
heise
时间:
2014-12-9 02:33
这一套免费方案看上去不错。
作者:
蜗牛
时间:
2014-12-9 10:35
谢谢 共享。。。。。。。。。。。
欢迎光临 纳金网 (http://old.narkii.com/club/)
Powered by Discuz! X2.5