From 5999e9c77ee30a7090ed7f6cdd07d82fe9a4015b Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期三, 11 九月 2024 08:44:06 +0800 Subject: [PATCH] Merge branch 'master' into liudl --- Web/src/views/device/deviceMonitor/signalR.ts | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 49 insertions(+), 0 deletions(-) diff --git a/Web/src/views/device/deviceMonitor/signalR.ts b/Web/src/views/device/deviceMonitor/signalR.ts new file mode 100644 index 0000000..9876733 --- /dev/null +++ b/Web/src/views/device/deviceMonitor/signalR.ts @@ -0,0 +1,49 @@ +import * as SignalR from '@microsoft/signalr'; +import { getToken } from '/@/utils/axios-utils'; + +// 鍒濆鍖朣ignalR瀵硅薄 +const connection = new SignalR.HubConnectionBuilder() + .configureLogging(SignalR.LogLevel.Information) + .withUrl(`${window.__env__.VITE_API_URL}/hubs/PlcDevice?token=${getToken()}`, { transport: SignalR.HttpTransportType.WebSockets, skipNegotiation: true }) + .withAutomaticReconnect({ + nextRetryDelayInMilliseconds: () => { + return 5000; // 姣�5绉掗噸杩炰竴娆� + }, + }) + .build(); + +connection.keepAliveIntervalInMilliseconds = 15 * 1000; // 蹇冭烦妫�娴�15s +connection.serverTimeoutInMilliseconds = 30 * 60 * 1000; // 瓒呮椂鏃堕棿30m + +// 鍚姩杩炴帴 +connection.start().then(() => { + debugger; + console.log('鍚姩杩炴帴plc'); +}); +// 鏂紑杩炴帴 +connection.onclose(async () => { + debugger; + console.log('鏂紑杩炴帴plc'); +}); +// 閲嶈繛涓� +connection.onreconnecting(() => { + debugger; + console.log('鏈嶅姟鍣ㄥ凡鏂嚎plc'); +}); +// 閲嶈繛鎴愬姛 +connection.onreconnected(() => { + debugger; + console.log('閲嶈繛鎴愬姛plc'); +}); +// 鍏抽棴杩炴帴鐨勬柟娉� +async function stopConnection() { + try { + await connection.stop(); + console.log('杩炴帴宸插叧闂�'); + } catch (error) { + console.error('鍏抽棴杩炴帴鏃跺彂鐢熼敊璇�:', error); + } + } +// connection.on('PublicPlcConn', () => {}); + +export { connection as signalR,stopConnection }; -- Gitblit v1.8.0