public TcpServer(int port, Driver driver, Thread httpThread) { this.httpThread = httpThread; this.driver = driver; tcpListener = new TcpListener(IPAddress.Any, port); DriveCommand.CreateFile(); }
public void Start() { isActive = true; tcpListener.Start(); Log?.Invoke("Tcp Server started", new EventArgs()); while (true) { using (TcpClient client = tcpListener.AcceptTcpClient()) { //using (NetworkStream stream = client.GetStream()) { if (client.ReceiveBufferSize > 0) { StreamReader inputStream = new StreamReader(client.GetStream()); StreamWriter outputStream = new StreamWriter(client.GetStream()); string request = inputStream.ReadLine(); Log?.Invoke(request, new EventArgs()); isActive = HandleRequest(request); outputStream.WriteLine("OK"); outputStream.Flush(); inputStream.Close(); outputStream.Close(); } } } if (!isActive) { Thread driveThread = new Thread(new ThreadStart(driver.Drive)); driveThread.Start(); driveThread.Join(); DriveCommand.CreateFile(); isActive = true; } } }