71 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import TcpClient from './TcpClient';
 | 
						|
import { getSyncData } from '../service/initable';
 | 
						|
import hilog from '@ohos.hilog';
 | 
						|
 | 
						|
export async function getTCP() {
 | 
						|
 | 
						|
  getSyncData('IpConfigTable').then(async (result: Array<any>) => {
 | 
						|
    console.log('result222', JSON.stringify(result))
 | 
						|
    if (result.length) {
 | 
						|
      if (globalThis.TcpClient && globalThis.TcpClient.closeTcp) {
 | 
						|
        globalThis.TcpClient.closeTcp(async () => {
 | 
						|
          // const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
 | 
						|
          // globalThis.TcpClient = tcpClient
 | 
						|
          setTimeout(async () => {
 | 
						|
            await globalThis.TcpClient.rebindTcp(result[0].tcplocalIp, result[0].tcplocalIpPort, result[0].tcpOppositeIp, result[0].tcpOppositePort)
 | 
						|
            await globalThis.TcpClient.connectTcp()
 | 
						|
            await globalThis.TcpClient.sendMsg('1002') //1002
 | 
						|
            globalThis.TcpClient.onError((val) => {
 | 
						|
              setTimeout(() => {
 | 
						|
                getTCP()
 | 
						|
              }, 1000)
 | 
						|
            })
 | 
						|
            await globalThis.TcpClient.onMessage((val) => {
 | 
						|
              setTimeout(() => {
 | 
						|
                globalThis.TcpClient.sendMsg('1002') //1002
 | 
						|
                if (val) {
 | 
						|
                  // const msg=val.substring(5,val.length-1)
 | 
						|
                  console.log('socketTag[PLC.UdpClient] status:', globalThis.udpClient.getStatus())
 | 
						|
                  globalThis.udpClient?.sendMsg(val)
 | 
						|
                }
 | 
						|
              }, 1000)
 | 
						|
 | 
						|
            })
 | 
						|
          }, 2000)
 | 
						|
        })
 | 
						|
 | 
						|
      } else {
 | 
						|
        const tcpClient: TcpClient = new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort, result[0].tcpOppositeIp, result[0].tcpOppositePort)
 | 
						|
        globalThis.TcpClient = tcpClient
 | 
						|
        await globalThis.TcpClient.bindTcp()
 | 
						|
        await globalThis.TcpClient.connectTcp()
 | 
						|
        await globalThis.TcpClient.sendMsg('1002') //1002
 | 
						|
        globalThis.TcpClient.onError((val) => {
 | 
						|
          setTimeout(() => {
 | 
						|
            getTCP()
 | 
						|
          }, 1000)
 | 
						|
        })
 | 
						|
        await globalThis.TcpClient.onMessage((val) => {
 | 
						|
          hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val));
 | 
						|
          setTimeout(() => {
 | 
						|
            globalThis.TcpClient.sendMsg('1002') //1002
 | 
						|
            if (val && globalThis.udpClient?.sendMsg) {
 | 
						|
              globalThis.udpClient?.sendMsg(val)
 | 
						|
            }
 | 
						|
          }, 1000)
 | 
						|
 | 
						|
        })
 | 
						|
      }
 | 
						|
      // globalThis.udpClient = new UdpClient(result[0].localIp, result[0].localIpPort,result[0].oppositeIp,result[0].oppositeIpPort)
 | 
						|
 | 
						|
    } else {
 | 
						|
      globalThis.TcpClient = {}
 | 
						|
      globalThis.TcpClient.onMessage = () => {
 | 
						|
      }
 | 
						|
    }
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
// globalThis.udpClient.bindUdp()
 |