67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import TcpClient from './TcpClient';
 | 
						|
import UdpClient from './UdpClient';
 | 
						|
import {sendMsg} from './GlobleUdp'
 | 
						|
import { getSyncData} from '../service/initable'
 | 
						|
import prompt from '@ohos.prompt'
 | 
						|
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 ()=>{
 | 
						|
 | 
						|
          await globalThis.TcpClient.rebindTcp(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
 | 
						|
          await globalThis.TcpClient.connectTcp()
 | 
						|
          await globalThis.TcpClient.sendMsg('2')
 | 
						|
          await globalThis.TcpClient.onMessage((val)=>{
 | 
						|
            setTimeout(()=>{
 | 
						|
              globalThis.TcpClient.sendMsg('1002')//1002
 | 
						|
              if(val){
 | 
						|
 | 
						|
                // const msg=val.substring(5,val.length-1)
 | 
						|
                globalThis.udpClient.sendMsg(val)
 | 
						|
              }
 | 
						|
            },1000)
 | 
						|
 | 
						|
 | 
						|
          })
 | 
						|
          // globalThis.udpClient = udpClient
 | 
						|
        })
 | 
						|
      }else{
 | 
						|
        // prompt.showToast({
 | 
						|
        //   message:'初始化localIp'+ result[0].localIp+ result[0].localIpPort+'oppositeIp'+result[0].oppositeIp+result[0].oppositeIpPort,
 | 
						|
        //   duration: 1000
 | 
						|
        // });
 | 
						|
        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
 | 
						|
        // setInterval(()=>{
 | 
						|
        //   globalThis.TcpClient.sendMsg('1002')//1002
 | 
						|
        //
 | 
						|
        // },2000)
 | 
						|
        await globalThis.TcpClient.onMessage((val)=>{
 | 
						|
          setTimeout(()=>{
 | 
						|
            globalThis.TcpClient.sendMsg('1002')//1002
 | 
						|
            if(val){
 | 
						|
              // const msg=val.substring(5,val.length-1)
 | 
						|
              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()
 |