2024-01-26 22:59:42 +08:00

1.3 KiB
Raw Blame History

非常简易用来练手的命令行聊天工具

感谢群友帮忙找到 redis pubsub coroutine 不能释放的问题

Quick start

  • 启动一个redis不需要存储redis主要是用pubsub
    docker run -d -p 6379:6379 redis
    
  • 启动服务器
    go run ./cmd/signal-server
    
  • 运行多个客户端
    go run ./cmd/demo-signal-client 房间名字 客户端名字
    

没有做的地方

项目组成

  • pkg/proto/signaling: 信令协议的部分,就是非常简单的交换信息
  • pkg/impl/signal-server: 协议的服务器实现部分,具体来说依赖一个 redis的 stun
  • cmd/signal-server: 服务器端的命令,写死了很多东西。想要自己用可以自己加 cobra 啊 viper 啊诸如此类的东西。
  • cmd/demo-signal-client: 客户端命令,依赖我开的一个 coturn/stun 服务,你也可以自己开一个,然后换掉里面的 stun:nhz.jeffthecoder.xyz。使用了 bubbletea没有维护状态只维护了名字到连接的一张表对端有连接就能发没有连接就发不了。