2013-12-22 182 views
0

将socket.io连接到我的路由的最佳方式是什么?快速路由和Socket.io

我使用socket.io将数据推送到客户端。我有我的索引页面,例如可能有评论进来并被推送给其他客户。简单。

但是,我希望能够点击一个用户,然后将该页面更改为该用户的页面,然后实时获取该用户的所有评论。

必须有比我现在做的更好的方法。

目前我...

app.get('/users/:uid', function(req, res){ 
res.render("user", { user : req.user, id: JSON.stringify(req.params.uid)}); 
}); 

然后,我只是用玉来保存变量,这样我可以在其他使用它的JavaScript文件

script 
     var id = !{id}; 

然后在上的JavaScript我只是让它连接到套接字IO,并说我正在寻找这个用户。

我已经使用会话套接字io。把这种信息保存在那里也是不正确的。它也偶尔没有正确保存会话,或者在页面之间更新导致问题。我正在使用与该项目不同的会话存储,尽管如此,情况可能会有所不同。 connect-mongo现在。

做这种事情的最佳方法是什么?尽管我找不到任何东西,但我确信我不是第一个问这个问题的人。

我也使用passport.socketIo。

+0

无需通过根发送UID,socket.io已经handsake数据:https://github.com/LearnBoost/socket.io/wiki/Authorizing – damphat

+0

谢谢!不敢相信我从来不知道! –

+0

console.log(“url:”+ socket.handshake.url);只是给了我: 网址:/socket.io/1/?t=1387828935995 我是否在谈论这个错误? –

回答