Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Channel は WebSocket 同様に通信切断 onclose イベントなどにも対応したい #2

Open
dynamis opened this issue Jun 19, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@dynamis
Copy link
Contributor

dynamis commented Jun 19, 2020

現在 Channel は最小限の onMessege/sendMessage メソッドだけを備えている (これらのメソッドの名称と引数についての議論は #1 参照) が、WebSocket 通信が切れてしまった場合にそれを検知出来なければ再接続する処理を実装できない。

方向性としては大きく二つあって

  • WebSocket 同様の API を提供する
  • ついでに自動再接続までする (よくある WebSocket の wrapper を標準搭載する)

のいずれかが出来ると良いかと思っている。前者の場合の自動再接続は既存の WebSocket 自動再接続ライブラリを WebSocket/Channel が互換 API になっていればサクッと移植できるはずなのでそれも用意すれば良いという想定。

接続状態管理について WebSocket API との違い・不足となるのは以下の通り:
https://developer.mozilla.org/ja/docs/Web/API/WebSocket

  • WebSocket.CONNECTING
  • WebSocket.OPEN
  • WebSocket.CLOSING
  • WebSocket.CLOSED
  • WebSocket.onclose
  • WebSocket.onerror
  • WebSocket.onopen
  • WebSocket.readyState
  • WebSocket.close
@dynamis dynamis added the enhancement New feature or request label Jun 19, 2020
@dynamis
Copy link
Contributor Author

dynamis commented Jun 19, 2020

その他にもイベントリスナ形式での登録がしたいとかいくつか WebSocket 標準 API と比べて不足があるのだけど、それは @kou029w さんがいうように WebSocket を継承する実装に切り替えることでまとめて対応するというのが望ましいはず。

とはいえ、本ライブラリの目的としてはそこまで完全なものを求めているわけではなく取りあえず簡単に RelayServer 使えれば良いという話なので、この issue はまた後日の Enhancement ということで構わないと思っています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant