feat: 增加信令自动重连保活与控制端视频录制
- 信令客户端增加心跳保活与指数退避自动重连机制 - 服务端优化传输异常日志级别,客户端断开不再报错 - 被控端信令断开时保持服务运行并自动重连 - Flutter 控制端增加远程视频录制功能,兼容标准 WebRTC 模式切换 - 各端连接按钮增加“连接中”状态防重复点击
This commit is contained in:
@@ -26,6 +26,7 @@ export const store = reactive({
|
||||
|
||||
protoReady: false,
|
||||
signalingConnected: false,
|
||||
signalingConnecting: false,
|
||||
registered: false,
|
||||
rtcConnected: false,
|
||||
dataChannelOpen: false,
|
||||
@@ -60,20 +61,26 @@ export function connectSignaling() {
|
||||
const deviceId = store.deviceId.trim();
|
||||
if (!deviceId) { store.error = '请填写本机设备 ID'; return; }
|
||||
|
||||
store.signalingConnecting = true;
|
||||
signaling = new SignalingClient({
|
||||
serverUrl: store.serverUrl.trim(),
|
||||
deviceId,
|
||||
onConnected: () => {
|
||||
store.signalingConnected = true;
|
||||
store.signalingConnecting = false;
|
||||
store.statusText = '已连接信令服务器';
|
||||
refreshDevices();
|
||||
},
|
||||
onDisconnected: () => {
|
||||
store.signalingConnected = false;
|
||||
store.signalingConnecting = false;
|
||||
store.registered = false;
|
||||
store.statusText = '已断开信令连接';
|
||||
},
|
||||
onError: (e) => { store.error = '信令错误: ' + e; },
|
||||
onError: (e) => {
|
||||
store.signalingConnecting = false;
|
||||
store.error = '信令错误: ' + e;
|
||||
},
|
||||
onMessage: handleSignalMessage,
|
||||
});
|
||||
signaling.connect();
|
||||
@@ -172,6 +179,7 @@ export function disconnectSignaling() {
|
||||
disconnectDevice();
|
||||
if (signaling) { signaling.disconnect(); signaling = null; }
|
||||
store.signalingConnected = false;
|
||||
store.signalingConnecting = false;
|
||||
store.registered = false;
|
||||
store.controlledDevices = [];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user