3个不稳定版本
使用旧的Rust 2015
0.2.0 | 2020年1月11日 |
---|---|
0.1.1 | 2018年10月8日 |
0.1.0 | 2018年10月4日 |
在#multiplayer中排名第26
每月下载量28次
96KB
2K SLoC
Reliudp:为Rust定制的可靠UDP协议
(工作中)
简版
特性
- 无不安全代码
- 拥有UDP的所有缺点,但速度像TCP一样慢
- 慢得像骆驼
- 我不确定它是如何工作的
- 实验性
- 无法防止DOS攻击
缺点
- 它确实能工作
详版
这个crate旨在类似于 https://github.com/BonsaiDen/cobalt-rs
,在意义上它提供了
- 通过UDP连接
- 保证消息到达目的地
- 极低延迟
这个crate主要针对带宽充足且低延迟至关重要的用例。特别是在线多人游戏。
与原始UDP相比的优势是什么?
- 跟踪连接,处理超时(使用双向握手)
- 自动数据包排序
- 在IP数据包上添加额外的CRC32检查,将损坏数据的机会降至几乎为零
- 确保数据包到达目的地
与原始TCP相比的优势是什么?
- 非流式
- 如果数据包第一次未通过,您可以选择丢弃哪些数据包
- 重要消息将通过Ack系统确保通过
- 可忽略的消息如果数据包第一次不完整将被丢弃
缺点是什么?
- (计划) 没有网络拥塞处理
- (计划) 没有测试覆盖率
- (计划) 没有可选的SSL和其他安全数据传输方式:一切都是明文
- (计划) 没有任何类型的错误纠正码(汉明码等)
- (可能在未来改变) 负载数据量限制(约~300KB)
- 未经DOS攻击测试
- 不支持
Future
。可能永远不会支持。
许可证
MIT
依赖项
~800KB
~16K SLoC