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 to
leave(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;
};