# p2p-chat-demo **Repository Path**: mr-abc/p2p-chat-demo ## Basic Information - **Project Name**: p2p-chat-demo - **Description**: In Dioxus and Rust-libp2p - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个用 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`主题发送消息实现)。