public void Initialize() { if (IsInitialize) { throw new Exception("已初始化"); } IsInitialize = true; try { if (!TCPDataService.Init(int.Parse(_conf.GetNetPort()))) { throw new Exception("数据端口初始化失败"); } if (!TCPCmdService.Init(int.Parse(_conf.GetNetCmdPort()))) { throw new Exception("命令端口初始化失败"); } } catch (Exception) { IsInitialize = false; } try { if (!TCPPoseService.Init(int.Parse(_conf.GetPosePort()))) { throw new Exception("姿态传感器端口初始化失败"); } } catch (Exception) { IsInitialize = false; } }
private bool CreateTCPListening() { try { if (!SonarIsOK) { TCPDataService.Start(); TCPDataService.Register(NetDataObserver); TCPCmdService.Start(); TCPCmdService.Register(NetDataObserver); SonarIsOK = true; } if (!PoseIsOK) { TCPPoseService.Start(); TCPPoseService.Register(NetDataObserver); PoseIsOK = true; } return(PoseIsOK && SonarIsOK); } catch (Exception e) { Error = e.Message; return(false); } }
public void StopTCpService() { TCPShellService.UnRegister(NetDataObserver); TCPShellService.Stop(); TCPDataService.UnRegister(NetDataObserver); TCPDataService.Stop(); IsTCPWorking = false; }
public async Task <bool> DownloadFile(Stream file, DownLoadFileType type) { SendBytes = 0; string argu = ""; switch (type) { case DownLoadFileType.BootLoader: argu = " -b"; break; case DownLoadFileType.FPGA: argu = " -f"; break; case DownLoadFileType.FixFirm: argu = " -u"; break; case DownLoadFileType.FloatM2: argu = " -t -m2"; break; case DownLoadFileType.FloatM4: argu = " -t - m4"; break; case DownLoadFileType.RltUpdate: argu = " -l"; break; case DownLoadFileType.Wave: argu = ""; break; default: argu = ""; break; } var shellcmd = new ACNTCPShellCommand(_cmdtcpClient, "gd" + argu); var ret = Command.SendTCPAsync(shellcmd); if (await ret) { var datacmd = new ACNTCPStreamCommand(_datatcpClient, file, reportprogress); TCPDataService.Register(datacmd); return(await Command.SendTCPAsync(datacmd).ContinueWith(x => { TCPDataService.UnRegister(datacmd); return x.Result; })); } return(false); }
public void Stop() { if (IsInitialize) { TCPDataService.UnRegister(NetDataObserver); TCPDataService.Stop(); TCPCmdService.Stop(); TCPPoseService.UnRegister(NetDataObserver); TCPPoseService.Stop(); } IsWorking = false; IsInitialize = false; }
/// <summary> /// tcp数据交换初始化 /// </summary> /// <param name="configure"></param> /// <returns></returns> public bool StartTCPService() { IsTCPWorking = false; // 同步方法,会阻塞进程,调用init用task TCPShellService.ConnectSync(); TCPDataService.ConnectSync(); TCPShellService.Register(NetDataObserver); TCPDataService.Register(NetDataObserver); if (TCPShellService.Connected && TCPShellService.Start() && TCPDataService.Connected && TCPDataService.Start()) { IsTCPWorking = true; return(IsTCPWorking); } return(IsTCPWorking); }
public void Initialize() { if (IsInitialize) { throw new Exception("已初始化"); } _datatcpClient = new TcpClient { SendTimeout = 1000 }; _cmdtcpClient = new TcpClient { SendTimeout = 1000 }; _posetcpClient = new TcpClient { SendTimeout = 1000 }; IsInitialize = true; try { if (!TCPDataService.Init(_datatcpClient, IPAddress.Parse(_conf.GetIP()), int.Parse(_conf.GetNetPort()))) { throw new Exception("数据端口初始化失败"); } if (!TCPCmdService.Init(_cmdtcpClient, IPAddress.Parse(_conf.GetIP()), int.Parse(_conf.GetNetCmdPort()))) { throw new Exception("命令端口初始化失败"); } } catch (Exception) { IsInitialize = false; } try { if (!TCPPoseService.Init(_posetcpClient, IPAddress.Parse(_conf.GetPoseIP()), int.Parse(_conf.GetPosePort()))) { throw new Exception("姿态传感器网络初始化失败"); } } catch (Exception) { IsInitialize = false; } }
private bool CreateTCPService(BasicConf conf) { // 同步方法,会阻塞进程,调用init用task if (!SonarIsOK) { TCPDataService.ConnectSync(); TCPDataService.Register(NetDataObserver); TCPCmdService.ConnectSync(); TCPCmdService.Register(NetDataObserver); } if (!PoseIsOK) { TCPPoseService.ConnectSync(); TCPPoseService.Register(NetDataObserver); } if (SonarIsOK && PoseIsOK) { return(true); } return(false); }