Skip to content

Lebei2046/p2p-chat-demo

Repository files navigation

这是一个用 dioxus 写的程序,演示用libp2p实现局域网聊天功能。

项目框架已搭好,在chat.rs中编写聊天组件ChatRoom:

  1. 组件ChatRoom包含一个输入框、一个发送按钮,和一个聊天记录列表。
  2. 组件ChatRoom开启一个libp2p网络节点任务(background task)。
    • 通过mDNS协议进行节点发现,注册或删除节点列表
    • 通过gossip协议进行消息广播或接收(通过订阅chat主题实现)
    • 参考目录/home/lebei/dioxus/rust-libp2p-libp2p-v0.56.0/examples/chat下的代码
  3. 前端UI和后台网络节点任务采用channel通信。
    • 当后台网络节点收到网络消息时,将消息发送给前端UI。
    • 当前端UI收到消息时,将消息添加到聊天记录列表中。
    • 当点击发送按钮时,将输入框中的内容发送给后台网络节点任务。
    • 当后台网络节点收到前端UI发送来的消息时,将消息发送给其他节点(通过向chat主题发送消息实现)。

About

Chat demo in Dioxus and libp2p

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published