月野うさぎ (TSUKINO Usagi) on Nostr: こやつ ...
こやつ (※)で、オーバレイ上でListenしてるノードが複数ノードを相手にできるよう苦心してコード書いて、動作確認を始めたところ、
※: https://github.com/ryogrid/gossip-overlay/tree/4479d343c9425e3b6c770e03f7e0460d6637dc29
実装で利用している pion/sctp というライブラリが以下のようなエラーを出力しており、
sctp ERROR: 2023/11/24 22:40:06 Failed to handle chunk: todo: handle Init when in state: Established
そもそもpion/sctp が想定する形での利用をサポートしてないようだと分かり、困ったなあ、となっているなう。
とはいえ、SCTPの実装と一口にいっても、RFCのどこまでに対応しているかは個々の実装次第なんですよね。
あとは、そもそもpionというやつは WebRTC実装(のためのライブラリ?)をこしらえることを目的としたプロジェクトらしく、リポジトリ名を省略すると、webrtc, datachannel、dtls、turn、ice とか軒並み実装していて、私が使わせてもろてる sctp のライブラリもその中の一つだったりする。
んで、WebRTCだと1対1のdatachannelが1つ張れれば、最低限良いはずで、そこからするとpion/sctpのサポート範囲が現状のそれでもおかしくはないんかな、と思ったりしました。
(メディア用の通信路は別ポートで張ればよい?)
※: https://github.com/ryogrid/gossip-overlay/tree/4479d343c9425e3b6c770e03f7e0460d6637dc29
実装で利用している pion/sctp というライブラリが以下のようなエラーを出力しており、
sctp ERROR: 2023/11/24 22:40:06 Failed to handle chunk: todo: handle Init when in state: Established
そもそもpion/sctp が想定する形での利用をサポートしてないようだと分かり、困ったなあ、となっているなう。
とはいえ、SCTPの実装と一口にいっても、RFCのどこまでに対応しているかは個々の実装次第なんですよね。
あとは、そもそもpionというやつは WebRTC実装(のためのライブラリ?)をこしらえることを目的としたプロジェクトらしく、リポジトリ名を省略すると、webrtc, datachannel、dtls、turn、ice とか軒並み実装していて、私が使わせてもろてる sctp のライブラリもその中の一つだったりする。
んで、WebRTCだと1対1のdatachannelが1つ張れれば、最低限良いはずで、そこからするとpion/sctpのサポート範囲が現状のそれでもおかしくはないんかな、と思ったりしました。
(メディア用の通信路は別ポートで張ればよい?)