重定向到新页面以响应Socket.IO事件

时间:2012-05-03 05:42:28

标签: node.js express socket.io

我正在使用Express开发一个具有聊天功能的多页Web应用程序(由Socket.IO提供支持)。用户可以邀请其他人加入私人共享聊天室(也有其他组件,如共享绘图板)。我想在完成邀请交易后将两个用户(邀请者和被邀请者)重定向到不同的URL。

由于socket.io无法访问路由的请求和响应对象,因此我尝试将socket.io的实例传递给路由处理。重复事件处理程序堆积在页面刷新旁边的问题,Express在响应已经发送后尝试进行重定向时抛出错误(这是有道理的)。

似乎实现这一目标的唯一方法是在客户端上进行重定向,将新的聊天室URL从Socket.IO传递给每个。但是,依靠客户进行国家转移似乎太脆弱了。

还有其他选择吗?实施我所追求的目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

我不太确定在客户端做太脆弱了。只需通过套接字发送URL,然后使用jQuery window.location.href = redirectUrl$('div').load(newContentUrl)