我正在使用nodejs
、expressjs
、和编写分散式聊天应用程序angularjs
。我正在使用libp2p来形成将通过开放连接相互通信的节点。Libp2p 是一个从IPFS项目模块化的网络堆栈。socket.io
ipfs
Libp2p 允许我构建nodes
能够托管一个swarm
或listening/ dialing
一个的。我已经发展到几个节点可以通过 angularjs(由 socket.io 补充)网页中的输入相互通信,但它们的 IP 地址和tcp
端口需要硬编码。
我面临的问题是,如果未知数量的用户加入这个系统并设置了他们的节点,我该如何处理这种情况。我已经做了很多研究,DHT
专门研究它在种子中的应用,但离实际应用它还差得很远。
我不想运行一个跟踪用户的中央系统,因为跟踪器跟踪种子中的播种者和浸出者(由于 DHT,现在有些多余)
在集中式聊天应用程序中,每次用户进入或离开时,我都可以使用 socket.io 发出相同的信号,从服务器向所有对等方发送一个发出事件。但是在去中心化聊天应用程序中的等价物是我正在努力解决的问题。
我需要一些指导。