public void InitTcp() { //和Camera通信 m_MyTcpClientVisual = new MyTcpClient(); if (m_MyTcpClientVisual != null) { IPAddress CameraIp = IPAddress.Parse(Profile.m_Config.CameraIp); int CameraPort = Profile.m_Config.CameraPort; m_MyTcpClientVisual.CreateConnect(CameraIp, CameraPort); if (!m_MyTcpClientVisual.IsConnected) { DataStruct.SysStat.CameraOk = false; m_SysAlarm.SetAlarm(SysAlarm.Type.Camera, true); } else { DataStruct.SysStat.CameraOk = true; m_SysAlarm.SetAlarm(SysAlarm.Type.Camera, false); } } //和单片机通信 m_ArmControler.Open(); m_MyTcpClientArm = m_ArmControler.m_MyTcpClientArm[(int)Board.Controler]; if (!m_MyTcpClientArm.IsConnected) { DataStruct.SysStat.ArmControlerOk = false; m_SysAlarm.SetAlarm(SysAlarm.Type.ARM, true); } else { DataStruct.SysStat.ArmControlerOk = true; m_SysAlarm.SetAlarm(SysAlarm.Type.ARM, false); //设置电机默认参数 InitArmControlerAxisPamera(); } //创建Tcp Server m_MyTcpServer = MyTcpServer.GetInstance(); if (m_MyTcpServer != null) { IPAddress ServerIp = IPAddress.Parse(Profile.m_Config.VisualStationServerIp); int ServerPort = Profile.m_Config.VisualStationServerPort; bool Re = m_MyTcpServer.CreatServer(ServerIp, ServerPort); if (!Re) { DataStruct.SysStat.ServerOk = false; m_SysAlarm.SetAlarm(SysAlarm.Type.Server, true); } else { DataStruct.SysStat.ServerOk = true; m_SysAlarm.SetAlarm(SysAlarm.Type.Server, false); } } }
/// <summary> /// 定义公有方法提供一个全局访问点,同时你也可以定义公有属性来提供全局访问点 /// </summary> /// <returns></returns> public static MyTcpServer GetInstance() { if (m_UniqueTcpServer == null) { lock (m_Locker) { if (m_UniqueTcpServer == null) { m_UniqueTcpServer = new MyTcpServer(); } } } return(m_UniqueTcpServer); }