我希望webapp(yeoman)上的套接字连接(socket.io)具有以下功能:
当未登录的用户访问网络应用时。客户端套接字的默认设置是收听' / welcome'命名空间。当用户登录webapp时,客户端套接字将更改为侦听另一个命名空间(' / home')。然后,当用户退出时,客户端套接字将更改回来听取' / welcome'命名空间。
图书馆:
套接字:socket.io
yeoman:yeoman-angular-fullstack
答案 0 :(得分:0)
我这样做:
在呈现某个模板时(通过服务器端的中间件)传递一个额外的参数来查看isLoggedIn
,当然,当用户登录时,它 true
在内部视图模板中,我创建一个隐藏的dom元素并为其分配' isLoggedIn"值。
在websocket连接之前的客户端js文件中我读了 p2 隐藏的DOM值,以了解我接下来要做什么。 P2&遗憾的是,p3是我知道通常为客户端传递给view的JavaScript变量赋值的唯一方法。当然,您可以通过API调用来完成它,但无论如何。
根据此变量,可以通过简单的/welcome
语句连接到/home
或if
。