pomelo Channel

来源:互联网 发布:北京大学大数据学院 编辑:程序博客网 时间:2024/04/28 20:25

Api

ChannelService

ChannelService is created by channel component which is a default loaded component of pomelo and channel service would be accessed by app.get(‘channelService’).

 createChannel(name) getChannel(name,create) create = true destroyChannel(name) pushMessageByUids(route, msg, uids, opts, cb) broadcast(stype, route, msg, opts, cb)

Channel

add(uid, sid)   //uid - user id                //sid - frontend server id which user has connected toleave(uid, sid)getMembers()getMember(uid)destroy()pushMessage(route, msg, opts, cb)

Sample

Mainly Used
- getChannel(name,create)
- add(uid, sid)
- pushMessage(route, msg, opts, cb)
- leave(uid,sid)

  var exp = module.exports;  //get channel  var getChannel = exp.getChannel = function() {    if(channel) {      return channel;    }    channel = pomelo.app.get('channelService').getChannel('area_' + id, true);    return channel;  };    //pushMessage    getChannel().pushMessage({route: 'onPickItem', entityId: args.entityId, target: args.target, score: treasure.score});/**   * Add entity to area    * @param {Object} e Entity to add to the area.   */  exp.addEntity = function(e) {    //e is a entity,it maybe a player    if (e.type === EntityType.PLAYER) {        getChannel().add(e.id, e.serverId);        addEvent(e);               //add event listener        players[e.id] = e.entityId;    }    return true;  };
0 0
原创粉丝点击