2015-12-01 59 views
0

我要上Web应用程序(自耕农)我的套接字连接(socket.io)具有以下功能:变化Socket.io命名空间

当非登录用户访问网络应用程序。客户端套接字的默认设置是侦听'/ welcome'命名空间。当用户登录webapp时,客户端套接字将更改为侦听另一个名称空间('/ home')。然后,当用户注销时,客户端套接字将改回回听'/ welcome'命名空间。

库:

插座:socket.io

自耕农:yeoman-angular-fullstack

+0

您是否在本使用案例的socket.io中尝试过“房间”概念? –

+0

房间不能有个人认证设置 –

回答

0

我这样做的:在(在服务器端通过中间件)呈现一定的模板我

  1. 传递一个额外的参数来查看,如isLoggedIn,当然它true当用户登录时。

  2. 内部视图模板我创建一个隐藏的dom元素并赋值给它'isLoggedIn'值。

  3. 在websocket连接之前内部客户端的js文件我读p2隐藏DOM值来理解接下来我要做的事情。 P2 & p3不幸的是,我知道在客户端传递给View的通常为JavaScript变量赋值的唯一方法。当然,你可以通过API调用,但是无论如何。

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