Aaah! Webの原則を壊そうとしている:) Webが純粋なMVC(model-view-controller)であった場合、 'サーバ'は実際にクライアントにメッセージを送信して更新を依頼することができます。問題は、サーバーの負荷分散が可能で、同じ要求を別のサーバーに送信できることです。これで、クライアントにメッセージを送り返す場合は、誰がサーバーに接続しているのかを知る必要があります。サイトがかなり人気があり、毎日約10万人が接続しているとしましょう。実際には、インターネット上のどこにあるのかを知り、メッセージを「プッシュ」できるように、それぞれのIPを格納する必要があります。
警告:
- 彼らはもはやあなたのウェブサイトを閲覧している場合はどう?現在のところ、ブラウザを閉じると自動的にログアウトする方法はありません。サーバがログアウトした場合、一定のタイムアウト後にチェックする必要があります(または、サーバがそのチェックを行わないようにすべてのレスポンスとともに新しいノンスを送信してください)
- システムの再起動/クラッシュなどはどうですか?あなたはあなたが追跡していたすべてのIPを失います。あなたは正方形に戻っています - 人はあなたに接続していますが、新しい要求を受け取るまで、あなたは本当に "あなたのモデルごとに。
- Facebookのニュースフィードや右上にある「最近の」リンクの例を考えてみましょう。壁を閲覧しているときに、最近の横の番号が上がったか、新しい「フィード」が来たことがありますあなたの壁のポストの上に!クライアントがサーバーに定期的な要求を送信して、更新された内容を確認します。
あなたはそれが簡単で安らかに保たれています。クライアントがデータをプルするためにサーバーを "ポーリング"してプッシュを希望するのは効率的ではないと感じるかもしれませんが、サーバーのデザインは簡素化されます:)
私はajax-pullingが最適です - クライアントに計算を配布してシンプルに保つ(KIS原則:)
もちろん、あなたはそれを回避することができます、それは価値がありますか?
希望はこのことができます:)
出典
2011-07-02 05:35:40
PhD