【问题标题】:ss.api.publish.user('someUser Id', content) is not working in socket streamss.api.publish.user('someUser Id', content) 在套接字流中不起作用
【发布时间】:2014-02-26 09:25:19
【问题描述】:

我正在使用套接字流通过以下代码将数据发送给登录用户

var ss = require('socketstream'); …… …… ss.api.publish.user('userId', 内容);

但 ss.api.publish 未定义是我收到的错误。

我哪里错了。 请指教。

【问题讨论】:

    标签: node.js socketstream


    【解决方案1】:

    API for a publish to a user 是:

    发送给用户 一旦用户通过身份验证(这基本上意味着他们的会话现在包含 req.session.userId 的值),您可以通过将 userId(或 ID 数组)传递给 ss.publish 的第一个参数来直接向用户发送消息。用户:

    // in a /server/rpc file
    ss.publish.user('fred', 'specialOffer', 'Here is a special offer just for you!');
    

    重要提示:当用户退出您的应用程序时,您应该调用 req.session.setUserId(null, cb) 以防止浏览器接收发送给该 userId 的未来事件。注意:此命令仅影响当前会话。如果用户通过其他设备/会话登录,这些将不受影响。

    以上内容摘自描述socketstream pub/sub api的原始文档。

    如您所见,您需要提供比您想象的多一个参数。也就是说,因为在客户端您需要订阅消息通道才能获取消息。在上面的示例中,您需要在客户端代码中执行此操作:

    ss.event.on('specialOffer', function(message){
      alert(message);
    });
    

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 1970-01-01
      • 2016-07-24
      • 2017-09-14
      • 2012-09-29
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多