Pomelo游戏服务器端开发系列(2)-pushMessage
博客专区 > nextzeus 的博客 > 博客详情
Pomelo游戏服务器端开发系列(2)-pushMessage
nextzeus 发表于10个月前
Pomelo游戏服务器端开发系列(2)-pushMessage
  • 发表于 10个月前
  • 阅读 89
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 消息通知方法介绍

推送消息方法

pushMessage

以channel为单位推送消息, 每个channel可比作一个房间。

代码示例

/**
 * Push message to all the members in the channel
 *
 * @param {String} route message route
 * @param {Object} msg message that would be sent to client
 * @param {Object} opts user-defined push options, optional
 * @param {Function} cb callback function
 */

var channelService = pomelo.app.get('channelService');
var channel = channelService.getChannel(channelName, false);
var params = {
    route:  'onChat',
    msg:    {},
};

channel.pushMessage(params);

pushMessageByUids

该方法只在channelService中定义, channel不可使用该方法。

推送消息给指定的用户集合uids:[{uid:1001,sid:'connector-server-1'},{uid:1002,sid:'connector-server-2'}].

代码示例


/**
 * Push message by uids.
 * Group the uids by group. ignore any uid if sid not specified.
 *
 * @param {String} route message route
 * @param {Object} msg message that would be sent to client
 * @param {Array} uids the receiver info list, [{uid: userId, sid: frontendServerId}]
 * @param {Object} opts user-defined push options, optional 
 * @param {Function} cb cb(err)
 * @memberOf ChannelService
 */

var channelService = pomelo.app.get('channelService');

channelService.pushMessageByUids(route, msg, uids, opt, callback);

broadcast

广播消息。 推送给所有用户

代码示例

/**
 * Broadcast message to all the connected clients.
 *
 * @param  {String}   stype      frontend server type string
 * @param  {String}   route      route string
 * @param  {Object}   msg        message
 * @param  {Object}   opts       user-defined broadcast options, optional
 *                               opts.binded: push to binded sessions or all the sessions
 *                               opts.filterParam: parameters for broadcast filter.
 * @param  {Function} cb         callback
 * @memberOf ChannelService
 */

var channelService = pomelo.app.get('channelService');
//ex: stype -> connector
channelService.broadcast(stype, route, msg, opts, callback)

标签: Pomelo
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 8
博文 12
码字总数 4743
×
nextzeus
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: