質問: 特に言語等関係無い質問です。 現在、簡単なチャットアプリを作ってみようと思っています。 Webサーバーを使うかローカルのネットワーク内のサーバーを使うかはまだ決めていません。 そこで、送信は良いのですが、受信の通知の仕方がわかりません。 例えばTwitterのWebページでは、新しいツイートがあるとリアルタイムで「1件の新しいツイート」と 表示されますが、あればどのような仕組みなんでしょうか。 私が作るとすると、常に(又は一定の間隔で)サーバーと通信して、新しいツイートが 存在するかどうか問い合わせるという仕組みになりますが、 それだと、ページを開いているだけでずっと通信し続けることになりますので、 1回1回の通信データ量は少なくても、パケット料が高くついてしまいそうです。 また、ずっとwhileやsetInterval(JavaScript)等を回しっぱなしということになりますので、これもどうなんだろうという感じです。 Twitterに限らず、LINEもリアルタイムで通知が来るので、ずっとサーバーと通信し続けているのでしょうか? 「〇〇という技術を使っています」みたいな回答で大丈夫です。 ヒントを頂ければ自分で調べて勉強します。 よろぴくおねがいします。
回答: 今後はWebPushが標準的な機能になるんだろうけど もう少し狭いサイト内でのリアルタイム通知に使ってるのはWebSocket。 そもそもチャットを作る時にWebSocketを使う。 太古のチャットCGIは定期的にリロードしてたけど今はそれじゃ遅い。 アプリの場合は話が別だけどこっちのほうが情報は多いのですぐに調べられる。 アプリでの通知をWebでもやろうとしてるのがWebPush。