「WebSocket」を使用する時の注意点

Pocket

 

「WebSocket」を扱う際に少しだけ注意点があります。

 

「WebSocket」は双方向リアルタイム通信です。

細かいのはここに書いてあります。

「WebSocket」とは何かを簡単に説明してみましょう

 

双方向で繋げている為、相手を信頼して待っている状態です。

その為、こちらが待っているのに、向こうが送ってこない場合は一生待ち続ける事になります。

来ない相手を待っているのは悲しいですね。

 

それを回避するためにも、定期的にチェックを入れて再接続する必要があります。

 

実際に更新がなくて送られてきていない可能性もありますが、レートの場合は、そこまで長時間何の情報も送られておきていないのは、おかしくなっている状態が多いので再接続するのがベストです。

 

チェックに関しては単純に、一番最新の更新がいつ行われたかを保存しておくだけ。

 

送られてくるタイムスタンプでも構いませんが、送られてきた情報が正しいかどうかは判定できないので、botに送られてきた時間をそのまま保存した方が安全だと思っています。

 

その再起動とチェックする為のスレッドを作って、そこで管理します。

 

その為、スレッドは一つ増えるのですが、安全の為だと考えて作ってもらった方がいいと思います。

 

「REST API」では、こちらからのリクエストなので、そういう問題は発生しませんでしたが、どうしても双方向通信だと起こってしまう問題なので、このあたりを注意して作成しましょう。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です