siesa_signalr_core 1.0.0
siesa_signalr_core: ^1.0.0 copied to clipboard
ASP.NET Core SignalR Client compatible con Dart que es independiente de la plataforma y se puede utilizar tanto en la línea de comandos como en el navegador.
example/main.dart
import 'dart:async';
import 'package:siesa_signalr_core/siesa_signalr_core.dart';
Future<void> main(List<String> arguments) async {
HubConnection? connection = HubConnectionBuilder()
.withUrl(
"URL DE TU SOCKET",
HttpConnectionOptions(
accessTokenFactory: () async => "TOKEN",
))
.withAutomaticReconnect([0]).build();
try {
await connection.start();
print("Conexion iniciada.");
} catch (e) {
print("Error al iniciar la conexión: $e");
}
connection.onclose((error) {
if (error != null) {
print("CERRAR CONEXIÓN: Conexión SignalR cerrada con error: $error");
} else {
print("CERRAR CONEXIÓN: Conexión SignalR cerrada sin error");
}
});
connection.onreconnecting((error) {
print("ESTADO DE CONEXIÓN: Reconectando...${connection.state}");
if (connection.state == HubConnectionState.reconnecting) {
print("Entrando en condicional 1");
}
});
connection.onreconnected((connectionId) {
try {
connection.invoke("KeepAlivePing", args: []);
} catch (ex) {
print("error $ex");
}
print("ESTADO DE CONEXIÓN: Reconectado");
});
try {
connection.invoke("SendMsgRepository", args: []);
} catch (ex) {
print("error $ex");
}
}