nodejs
、、、およびを使用して分散型チャット アプリケーションを作成しています。libp2pを使用してexpressjs
、オープン接続を介して相互に通信するノードを形成しています。Libp2p は、IPFSプロジェクトからモジュール化されたネットワーク スタックです。angularjs
socket.io
ipfs
Libp2p を使用すると、またはをnodes
ホストできるものをビルドできます。angularjs (socket.io で補完) Web ページの入力を介して複数のノードが相互に通信できるようになりましたが、それらの IP アドレスとポートをハードコーディングする必要があります。swarm
listening/ dialing
tcp
私が直面している問題は、不明な数のユーザーがこのシステムに参加してノードをセットアップした場合、シナリオをどのように処理するかです。私は torrent での適用について多くの研究を行ってきましたがDHT
、実際に適用するにはほど遠いところです。
トラッカーがトレントのシーダーとリーチャーを追跡するように、ユーザーを追跡する中央システムを実行したくありません(現在、DHTにより多少冗長になっています)
集中型のチャット アプリケーションでは、ユーザーが出入りするたびに、socket.io を使用してサーバーからすべてのピアに発行イベントを送信できます。しかし、分散チャットアプリでこれに相当するものは、私が非常に苦労しているものです.
ガイダンスが必要です。