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

插件详情v0.2.1

signalr_flutter

一个用于 .net SignalR 客户端的 Flutter 插件。此客户端适用于 ASP.Net SignalR,而非 .Net Core SignalR。

AndroidiOS
近 30 天下载
185
喜欢数
83
Pub 分数
150

安装插件

flutter pub add signalr_flutter

插件介绍

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

signalr_flutter 是一个 Flutter 插件,可实现与 ASP.NET SignalR 服务器的实时通信。它支持 Flutter 应用与基于 .NET 的 SignalR 后端之间的双向消息传递,具备连接管理、事件处理和自动重连等功能。专为 ASP.NET SignalR(非 .NET Core)设计,可无缝集成到 Android 和 iOS 应用中。该插件简化了在 Flutter 应用中实现实时更新、聊天系统、通知和协作工具的过程。

适合场景

  • 实时聊天应用
  • 实时仪表板更新
  • 推送通知
  • 协作编辑工具
  • 物联网设备监控

主要特点

  • 仅支持 ASP.NET SignalR
  • 双向通信
  • 自动重连
  • 事件驱动的消息处理
  • 轻量且平台无关

适合对象

  • 使用 ASP.NET SignalR 的开发人员
  • 需要实时数据同步的应用程序
  • 需要实时更新的移动应用
  • 构建互动体验的团队

使用建议

  • 与 .NET Core SignalR 不兼容
  • 需要服务器端的 ASP.NET SignalR 设置
  • 仅限 Android 和 iOS 平台

原始 README

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

signalr_flutter

A flutter plugin for .net SignalR client.

Usage

First of all, Initialize SignalR and connect to your server.

SignalR signalR = SignalR(
        '<Your server url here>',
        "<Your hub name here>",
        hubMethods: ["<Your Hub Method Names>"]
        statusChangeCallback: (status) => print(status),
        hubCallback: (methodName, message) => print('MethodName = $methodName, Message = $message'));
signalR.connect();

Here statusChangeCallback will get called whenever connection status with server changes.

hubCallback will receive calls from the server if you subscribe to any hub method. You can do that with hubMethods.

hubMethods are the hub method names you want to subscribe.

There is a headers parameters also which takes a Map<String, String>.

You can also invoke any server method.

signalR.invokeMethod("<Your method name here>", arguments: ["argument1", "argument2"]);

If you are trying to connect with a HTTP url, then you need to add the following lines to the manifest of your android project.

<application
        android:usesCleartextTraffic="true">
</application>

This is because of the Network Security Config.

R8 may strip away some SignalR classes for the Android in Release Builds. Add the following line in your proguard-rules.pro file to solve this issue.

-keep class microsoft.aspnet.signalr.client.hubs.** { *; }

For more info check example.

Any issue or PR is always welcome.

所属分类

源码仓库

使用此插件的项目

暂无相关数据。