Skip to Main Content
ハンズオンNode.js
book

ハンズオンNode.js

by 今村 謙士
November 2020
Beginner to intermediate content levelBeginner to intermediate
536 pages
6h 42m
Japanese
O'Reilly Japan, Inc.
Content preview from ハンズオンNode.js

6章リアルタイムWebアプリケーション

Webアプリケーションにおけるクライアント・サーバ間のコミュニケーションは、典型的にはクライアントが送信したリクエストに対しサーバがレスポンスを返すというものです。このパターンでは、クライアントがサーバの最新情報を取得するために、サーバにリクエストを送る必要があります。「5章 HTTPサーバとHTTPクライアント」で作成したユニバーサルWebアプリケーションでは、ブラウザでページを開いた直後はその時点での最新のToDo一覧が表示されます。しかしページを開いたまま10分経過したら、その情報は古くなっている可能性があります。新しいToDoが追加されているかもしれませんし、未完了だったToDoが完了しているかもしれません。古い情報を元に作業していたら、処理すべきタスクを放置したまま完了したタスクを無駄に繰り返してしまいかねません。このような事態を避けるには、ブラウザを定期的にリロードして常に最新のToDo一覧を確認する必要があります。

これに対し、ブラウザリロードなどのユーザー操作によることなく、クライアントサイドにサーバの最新情報を同期させるような仕組みを持つWebアプリケーションをリアルタイムWebアプリケーションと呼びます。本章では複数のリアルタイムWebアプリケーションの実装方式を学び、その一部を使って実際にToDo管理アプリケーションをリアルタイム化します。

6.1 ポーリング

ポーリングはリアルタイムWebアプリケーションを実装するための最もシンプルな手段です。クライアントはユーザー操作をトリガーとしないWeb APIの呼び出しを一定間隔で繰り返し、定期的に状態をサーバと同期します(図6-1)。

図6-1 ポーリング

サーバサイドでは特別な実装は必要なく、たとえば「5章 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティス

大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティス

Piethein Strengholt, 村上 列
データサイエンス講義

データサイエンス講義

Rachel Schutt, Cathy O'Neil, 瀬戸山 雅人, 石井 弓美子, 河内 崇, 河内 真理子, 古畠 敦, 木下 哲也, 竹田 正和, 佐藤 正士, 望月 啓充
アルゴリズムクイックリファレンス 第2版

アルゴリズムクイックリファレンス 第2版

George T. Heineman, Gary Pollice, Stanley Selkow, 黒川 利明, 黒川 洋

Publisher Resources

ISBN: 9784873119236Other