From 2dbb83f54f13bb68a28258acee4d3ac3359d66e3 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Wed, 15 Jun 2022 16:41:31 +0300 Subject: [PATCH] fix signal R code --- lib/core/config/size_config.dart | 16 +++++------ lib/home/home_screen.dart | 5 +++- lib/utils/signalR_utils.dart | 46 +++++++++++++++++++++++++++----- 3 files changed, 51 insertions(+), 16 deletions(-) diff --git a/lib/core/config/size_config.dart b/lib/core/config/size_config.dart index 681bf61..f2fcf56 100644 --- a/lib/core/config/size_config.dart +++ b/lib/core/config/size_config.dart @@ -67,14 +67,14 @@ class SizeConfig { heightMultiplier = _blockHeight; widthMultiplier = _blockWidth; - print('realScreenWidth $realScreenWidth'); - print('realScreenHeight $realScreenHeight'); - print('textMultiplier $textMultiplier'); - print('imageSizeMultiplier $imageSizeMultiplier'); - print('heightMultiplier$heightMultiplier'); - print('widthMultiplier $widthMultiplier'); - print('isPortrait $isPortrait'); - print('isMobilePortrait $isMobilePortrait'); + // print('realScreenWidth $realScreenWidth'); + // print('realScreenHeight $realScreenHeight'); + // print('textMultiplier $textMultiplier'); + // print('imageSizeMultiplier $imageSizeMultiplier'); + // print('heightMultiplier$heightMultiplier'); + // print('widthMultiplier $widthMultiplier'); + // print('isPortrait $isPortrait'); + // print('isMobilePortrait $isMobilePortrait'); } static getTextMultiplierBasedOnWidth({double width}) { diff --git a/lib/home/home_screen.dart b/lib/home/home_screen.dart index 18c3274..8d5eb6a 100644 --- a/lib/home/home_screen.dart +++ b/lib/home/home_screen.dart @@ -86,12 +86,15 @@ class _MyHomePageState extends State { @override void initState() { startTimer(); + SignalRHelper signalRHelper = new SignalRHelper(); + if (!signalRHelper.getConnectionState()) signalRHelper.startSignalRConnection(); super.initState(); } @override Widget build(BuildContext context) { - SignalRHelper signalRHelper = SignalRHelper(); + + return AppScaffold( appBar: AppHeader(), body: Column( diff --git a/lib/utils/signalR_utils.dart b/lib/utils/signalR_utils.dart index 31e4f03..9233779 100644 --- a/lib/utils/signalR_utils.dart +++ b/lib/utils/signalR_utils.dart @@ -1,24 +1,56 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:http/io_client.dart'; import 'package:signalr_core/signalr_core.dart'; class SignalRHelper{ - String hubBaseURL =""; + String hubBaseURL ="https://queueing.hmg.com/signalr/hubs"; + // "https://VCallApi.hmg.com/WebRTCHub?source=mobile&username=2001273"; String msg ="Awaiting Patients Arrival"; HubConnection connection; - SignalRHelper(){ + startSignalRConnection() async { connection = HubConnectionBuilder() .withUrl( hubBaseURL, HttpConnectionOptions( - logging: (level, message) { - msg = message; - print("$message"); + client: IOClient(HttpClient()..badCertificateCallback = (x, y, z) => true), + transport: HttpTransportType.webSockets, + logging: (level, message) => {print(message) + }, - ) - ).build(); + )) + .build(); + + await connection.start(); + + connection.on('ReceiveMessage', (message) { + handleIncomingMessage(message); + }); + + + connection.start(); + + + } + + + void handleIncomingMessage(List message) { + print(message.toString()); + } + + void sendMessage(List args) async { + await connection.invoke('SendMessage', args: args); //['Bob', 'Says hi!'] } + bool getConnectionState() { + if(connection == null ) return false; + if (connection.state == HubConnectionState.connected || connection.state == HubConnectionState.connecting) return true; + if (connection.state == HubConnectionState.disconnected || connection.state == HubConnectionState.disconnecting) return false; + } + + closeConnection(BuildContext context) async { if(connection.state == HubConnectionState.connected)