- inc/
- client.hpp 包含Client类的定义
- protocol.hpp 定义了协议内容及decode/encode package的方法
- server.hpp 包含Server类、Channel类、Participant类的定义
- src/
- client.cpp Client类的实现文件
- client_program.cpp 实现一个可执行的client程序
- server.cpp server.hpp对应的实现文件
- server_program.cpp 实现一个可执行的server程序
- protocol.cpp 协议的实现文件
- test/
- test.cpp 针对的protocol的单元测试
- Boost.Asio 采用的是单线程异步IO模式
- glog 用于输出详细log信息
- gtest 单元测试
- 编译出client和server两个可执行程序
- 运行server端: ./server 端口号
- 运行多个client端: ./client 服务端的IP或域名 服务端的端口号
- 输入: !create CHANNEL_NAME 创建一个CHANNEL
- 另一个client输入:!join CHANNEL_NAME 加入指定的CHANNEL
- 两端进入消息收发循环
- 输入:!leave 退出当前CHANNEL
- 其他命令: !list 列出当前Server上存在的所有CHANNEL
- 引入openssl库,实现在公网环境下的加密通信
- 补充测试代码如性能测试, client及server的单元测试