Closed6
PusherでWebSocketへのアクセスが失敗したことを記録することはできるだろうか
PusherってWebSocketで接続できなかったら別の仕組みにフォールバックして、動くっぽい。どれだけのユーザでおきているかどうかしりたい。
結論
fallbackするとLocalStorageに一定時間fallbackするための情報が残るため、これで確認するのが楽そうである。
タイミング的にはpusherとの接続が確認できたときのコールバックでよさそう
このドキュメントは "Chatwork Tech Tips" の一環です。
その他の Tips も含めて @Chatwork_dev にて確認することができます 👨🏫
挙動をみているだけなのでNDAでないはず。
- websocketを使う場合、
ws-***.pusher.com
にアクセスがいく - WebSocketが使えない環境でためすと sockjs-***.pusher.com にアクセスがいっている
- WebSocketが使える環境にもどっても sockjs-***.pusher.com にアクセスがいっている
- LocalStorageに
{"timestamp":xxxxx,"transport":"xhr_streaming","latency":xxx}
が保存されていた - WebSocketが利用できなかったばあい、一定期間WebSocketで繋がないようになっているらしい
LocalStorageの値を見て記録してあげれば、WebSocketへのアクセスが失敗したことがあることが確認できそう
接続時にconection eventが発生する。このときすでにLocalStorageにデータが保存されている
ここにfallbackストラテジーについて記載されている
HTTP method の connectに失敗するとfallbackする模様
このスクラップは2021/05/18にクローズされました