【发布时间】:2014-02-26 09:25:19
【问题描述】:
我正在使用套接字流通过以下代码将数据发送给登录用户
var ss = require('socketstream'); …… …… ss.api.publish.user('userId', 内容);
但 ss.api.publish 未定义是我收到的错误。
我哪里错了。 请指教。
【问题讨论】:
标签: node.js socketstream
我正在使用套接字流通过以下代码将数据发送给登录用户
var ss = require('socketstream'); …… …… ss.api.publish.user('userId', 内容);
但 ss.api.publish 未定义是我收到的错误。
我哪里错了。 请指教。
【问题讨论】:
标签: node.js socketstream
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);
});
【讨论】: