songjun
2022-07-15 5fc7472d0ec6bff69b874f33eeccc30541f7f6df
fix socket reconnect bug
1个文件已修改
14 ■■■■ 已修改文件
src/samples/sockteStomp.ts 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/samples/sockteStomp.ts
@@ -160,8 +160,11 @@
        
    }
}
var isErrConnectBackCalled = false;
const connectCallback=function(){
    isErrConnectBackCalled = true
    const pcName= sockteStore().pcName
    console.log("链接成功",stompClient,pcName)
    // 订阅患者信息服务
    if(stompClient!==null){
        // 订阅患者信息事件
@@ -172,12 +175,12 @@
        stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},JSON.stringify({"clientCode":clientCode,"machineName":pcName}))
        
    }
    console.log("链接成功",stompClient,pcName)
    // 更新sockte链接状态
    sockteStore().setsockteIsLink(true)
    console.log(sockteStore().isLink)
    console.log(devices)
    if(devices!==undefined&&devices.length>0){
    if(devices!==undefined&&devices!=null &&devices.length>0){
        devices.forEach(de=>{
            if(stompClient!==null){
                stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/result`,callback)
@@ -188,15 +191,20 @@
        })
    }
}
const disconnectCallBack=function(){
    console.log("disconnect");
}
const error_callback=function(error:any){
    console.log('链接错误',error);
    setTimeout(()=>{
        console.log('10秒之后重连')
        console.log(devices,'设备列表')
        const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast')
        stompClient?.disconnect(disconnectCallBack,{})
        stompClient = Stomp.over(socket)
        stompClient.connect({}, connectCallback,error_callback)
    },10000)
}
// 创建客户端链接