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