Help us understand the problem. What is going on with this article?

websocketで複数通信時に起きた問題

More than 3 years have passed since last update.

server.jsと複数のindex.htmlで通信

1人でもブラウザを閉じるとサーバーが閉じてしまう
(起動したnode server.jsが終了する)
→以後通信できなくなる。。。

解決方法

server.jsの自動再起動(永続化)

田中さん直伝
サーバー側にforeverを導入

$ npm install -g forever
$ forever server.jsで起動する

HTMLの自動リロード化

foreverと合わせて、ブラウザ側のindex.htmlにサーバーと通信が切れた時のイベントを設定

index.html
    ws.onclose = function () {
      console.log('closed');
      window.location.reload();
      };

こうすることで、

→だれかがブラウザを閉じる
→サーバーが切断される
→自動的にserver.jsを再起動
→切断されたのを検知したhtmlが再リロード

で無事に通信を続けることができる

_kiryo
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away