搜索插件、代码仓与 APP 分类

插件详情v1.0.0

rsocket

Dart 的 RSocket

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
86
喜欢数
19
Pub 分数
100

安装插件

flutter pub add rsocket

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

RSocket for Dart 是一个轻量级的响应式网络协议实现,可实现客户端与服务器之间的高效双向通信。它支持通过各种传输层进行流式传输、请求-响应、请求-流和一次性发送等模式。专为低延迟、高吞吐量场景设计,非常适合需要可靠数据流的实时应用。该包与 Dart 的 async/await 语法无缝集成,并可在移动、Web 和桌面等多个平台上运行。它遵循 RSocket 协议规范,确保与其他 RSocket 实现的兼容性。

适合场景

  • 实时数据流
  • 双向通信
  • 低延迟微服务
  • 事件驱动架构
  • 高吞吐量消息传递
  • 远程过程调用

主要特点

  • 响应式编程模型
  • 支持多种交互模型
  • 跨平台兼容性
  • 轻便高效
  • 内置错误处理
  • 与 Dart async/await 的集成

适合对象

  • 实时应用
  • 微服务通信
  • 物联网设备
  • 流式 API
  • 高性能后端

使用建议

  • 需要 RSocket 服务器支持
  • 与 HTTP 客户端相比,文档有限
  • 反应式概念的学习曲线更陡峭
  • 不适用于简单的 REST 类请求
  • 可能需要额外的设置来完成身份验证

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

RSocket Dart SDK

Examples

Client
import 'package:rsocket/rsocket_connector.dart';
import 'package:rsocket/payload.dart';

void main() async {
  var rsocket = await RSocketConnector.create().connect('tcp://127.0.0.1:42252');
  var result = await rsocket.requestResponse(Payload.fromText('text/plain', 'Ping'));
  print(result.getDataUtf8());
}
Server
import 'package:rsocket/rsocket_server.dart';
import 'package:rsocket/payload.dart';
import 'package:rsocket/rsocket.dart';

void main() async {
  const listenUrl = 'tcp://0.0.0.0:42252';
  var closeable = await RSocketServer.create(requestResponseAcceptor((payload) {
    return Future.value(Payload.fromText('text/plain', 'Pong'));
  })).bind(listenUrl);
  print('RSocket Server started on ${listenUrl}');
}

RSocket Service Proxy & Routing

Please refer https://github.com/rsocket/rsocket-dart/tree/master/lib/route

RSocket

  • Operations
    • [x] REQUEST_FNF
    • [x] REQUEST_RESPONSE
    • [x] REQUEST_STREAM
    • [ ] REQUEST_CHANNEL
    • [x] METADATA_PUSH
  • More Operations
    • [x] Error
    • [ ] Cancel
    • [x] Keepalive
  • QoS
    • [ ] RequestN
    • [ ] Lease
  • Transport
    • [x] TCP
    • [x] Websocket
  • High Level APIs
    • [x] Client
    • [x] Server
  • Misc
    • [x] RxDart

References

  • RSocket: https://rsocket.io
  • Dart: https://dart.dev/

所属分类

依赖

依赖清单 2 项

源码仓库

使用此插件的项目

暂无相关数据。