更改Socket.io命名空间

时间:2015-12-01 12:22:38

标签: socket.io yeoman

我希望webapp(yeoman)上的套接字连接(socket.io)具有以下功能:

当未登录的用户访问网络应用时。客户端套接字的默认设置是收听' / welcome'命名空间。当用户登录webapp时,客户端套接字将更改为侦听另一个命名空间(' / home')。然后,当用户退出时,客户端套接字将更改回来听取' / welcome'命名空间。

图书馆:

套接字:socket.io

yeoman:yeoman-angular-fullstack

1 个答案:

答案 0 :(得分:0)

我这样做:

  1. 在呈现某个模板时(通过服务器端的中间件)传递一个额外的参数来查看isLoggedIn,当然,当用户登录时,它 true

  2. 在内部视图模板中,我创建一个隐藏的dom元素并为其分配' isLoggedIn"值。

  3. 在websocket连接之前的客户端js文件中我读了 p2 隐藏的DOM值,以了解我接下来要做什么。 P2&遗憾的是,p3是我知道通常为客户端传递给view的JavaScript变量赋值的唯一方法。当然,您可以通过API调用来完成它,但无论如何。

  4. 根据此变量,可以通过简单的/welcome语句连接到/homeif