Rust-Tcp-Async-Client
Rust实现的异步多客户端网络框架,基于tokio和mlua,可自定义通讯协议 插件化采用lua。应用场景im,game server,bot等.golang 实现的网络框架就很多了,个人希望能在Rust做一些微不足道的贡献,该项目的代码也很简陋属于 demo
,线上生产还是需要深加工.欢迎Rust萌新
项目更多的代码 Copy 自 tox-rs hhhhhh
🎈
框架
🎈
主线程维护多个client,将消息分发至lua。
🎈
性能
🎈
性能和并发这我不想说,我等萌新再弱鸡,Rust的优势会弥补我们的不足。弘扬Rust势在必行emm......Golang弟弟表示不服....
🎈
协议
🎈
自定义协议部分并没有抽离出来,因为本人正处于并将长期处于萌新阶段。。hhhh 请阅读源码codec.rs
来实现自己的协议即可 编码器采用的 tokio
的Codec
🎈
插件
🎈
在Plugins目录下已给出demo 默认绑定了2个函数 OnChatMsg
和 OnChatEvent
收到消息的时候会遍历插件并调用OnChatMsg
和收到相关事件的时候会遍历插件并调用OnChatEvent
demo中绑定了3个luaApi 详情请见test.lua
🎈
指南食用
🎈
git clone https://github.com/OPQBOT/rust-tcp-async-client.git
cd rust-tcp-async-client
code .
cd examples
cargo run --package examples --example server-test
cd examples
cargo run --package examples --example client-test
🎈
交流
🎈
🎈
License
🎈
Licensed under GPLv3+ .