4

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

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

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

还有其他选择吗?实现我所追求的最佳方法是什么?

4

1 回答 1

1

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

于 2012-07-01T17:26:32.793 回答