2012-05-03 11 views
3

私は、チャット機能(Socket.IOを搭載)を持つExpressを使用して複数ページのWebアプリケーションを開発しています。ユーザーは、共有のチャットルーム(これには共有の図面ボードのような他のコンポーネントもあります)に他のユーザーを招待できます。私は招待トランザクションを完了すると、両方のユーザー(招待者と招待者)を別のURLにリダイレクトしたいと思います。Socket.IOイベントへの応答で新しいページにリダイレクト

socket.ioは自分のルートの要求オブジェクトと応答オブジェクトにアクセスできないため、自分のルートハンドリングにsocket.ioのインスタンスを渡そうとしました。ページ・リフレッシュに重複した重複イベント・ハンドラの問題は、レスポンスがすでに送信された後にリダイレクトしようとすると、Expressはエラーをスローします(これは意味があります)。

これを達成する唯一の方法は、新しいチャットルームのURLがSocket.IOから渡されるように、クライアントでリダイレクトを行うことです。しかし、クライアントに状態転送を依頼することはあまりにも壊れやすいようです。

その他のオプションはありますか?どのような後に私は何を実装するための最良の方法は何ですか?

答えて

0

私はそれがクライアントでやるのが壊れやすいとは確信していません。 URLをソケットに送信して、window.location.href = redirectUrlまたは$('div').load(newContentUrl)のいずれかをjQueryで実行してください。

関連する問題