// Destruct all connections. public void DeinitRobot() { if (checkStateThread != null) { checkStateThread.Abort(); } if (checkStateThread2 != null) { checkStateThread2.Abort(); } if (MessageReader1 != null) { MessageReader1.Close(); } if (MessageReader2 != null) { MessageReader2.Close(); } if (DataStream1 != null) { DataStream1.Close(); } if (DataStream2 != null) { DataStream2.Close(); } if (Client1 != null) { Client1.Close(); } if (Client2 != null) { Client2.Close(); } }
private void checkStateController() { while (true) { Thread.Sleep(1000); if (Client2.Connected == false) { try { if (MessageReader2 != null) { MessageReader2.Close(); } if (DataStream2 != null) { DataStream2.Close(); } if (Client2 != null) { Client2.Close(); } Client2 = new TcpClient(); Client2.NoDelay = true; Client2.Connect(IPAddress.Parse(ip), MessagePort); if (Client2.Connected) { DataStream2 = Client1.GetStream(); MessageReader2 = new StreamReader(DataStream2); } } catch (ArgumentNullException ex1) { Console.WriteLine("ArgumentNullException = " + ex1); } catch (SocketException ex2) { Console.WriteLine("SocketException = " + ex2); } catch (Exception e) { Console.WriteLine("Exception = " + e); } } } }
public void SendInput(string msg) //send messages to controller { try { if (Client2 != null && Client2.Connected) { msg += System.Environment.NewLine; // Add a NewLine int len = msg.Length; if (len != 0) { ASCIIEncoding code = new ASCIIEncoding(); Byte[] bbb = code.GetBytes(msg); Byte[] aaa = new Byte[1024]; for (int i = 0; i < len; i++) { aaa[i] = bbb[i]; } aaa[len] = 0x0D; // 0x0D means Enter aaa[len + 1] = 0; DataStream2.Write(aaa, 0, len); //DataStream2.Write(bbb, 0, msg.Length); Thread.Sleep(100); } } } catch (ArgumentNullException ex1) { Console.WriteLine("ArgumentNullException = " + ex1); } catch (IOException ex2) { Console.WriteLine("IOException = " + ex2); } catch (Exception e) { Console.WriteLine("Exception = " + e); } }