1个不稳定版本
0.1.0 | 2022年11月14日 |
---|
#344 in #real-time
96 每月下载量
用于 2 crates
5KB
SignalRs
SignalRs是Rust对SignalR协议的实现。
SignalR是一个开源协议,简化了向应用添加实时Web功能。实时Web功能使服务器端代码能够立即向客户端推送内容。
该库是该协议客户端的开源实现。最初在Microsoft的.NET生态系统中开发。更多详情请参阅官方文档
。
从技术角度来说,它是一个具有双向流能力的RPC框架。
请参阅相应crates的docs.rs或examples文件夹以了解如何使用。
为什么选择SignalR
易用性
它允许以易用的编程模型进行双向通信。在需要实时通信的情况下,它提供了一个易于使用的框架,抽象了底层传输层。正确使用WebSockets并非易事。
与现有服务的集成
由于SignalR起源于.NET生态系统,因此存在一些提供SignalR端点的服务。该库允许轻松与它们集成。这对于主要使用C#的公司来说可能尤其如此。说实话,这也是这个库最初被创建的原因。
特性 🚀
客户端
客户端目前支持
- 使用值和流参数调用服务器
- 发送消息并
- 不等待响应
- 等待单个响应
- 等待一系列响应
- 有一个支持
- 值参数的客户端端点
- WebSockets
- JSON
客户端不支持(目前)
- 流参数到客户端端点
- LongPolling
- ServerSentEvents
- MsgPack
要查看客户端的源代码,请参阅此仓库中的signalrs-client
crate。
服务器
服务器仍在开发中。它已经相当高级并且可以运行,但尚未发布。要查看其源代码,请参阅此仓库中的signalrs-next
crate。
测试
- 使用以下跨平台测试
- .NET客户端实现
参考
根据以下内容实现了协议的内部实现
依赖项
~1.5MB
~35K SLoC