ss.api.publish.user('someUser Id',content)在套接字流中不起作用

时间:2014-02-26 09:25:19

标签: node.js socketstream

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

var ss = require('socketstream'); .... .... ss.api.publish.user('userId',content);

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

我哪里错了。 请指教。

1 个答案:

答案 0 :(得分:2)

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);
});