ANHMonitor.frmMonitor.StartServer C# (CSharp) Method

StartServer() public method

public StartServer ( ) : void
return void
        public void StartServer()
        {
            TcpListener tcpListener = new TcpListener(port);
            tcpListener.Start();
            //this.label1.Text = "Server Started";
            SetText("Started Server");

            //Timer t = new Timer(ComputeBoundOp, 5, 0, 2000);
            //Creates an infinate loop that just listens for client connections.
            while (true)
            {
                //When a client connects create a socket for it.
                Socket socketForClient = tcpListener.AcceptSocket();
                try
                {
                    if (socketForClient.Connected)
                    {

                        string ipadd1 = socketForClient.RemoteEndPoint.ToString();
                        string[] ipaddy = ipadd1.Split(':');
                        Console.WriteLine("Client connected from " + ipaddy[0] + ":" + ipaddy[1] + "");
                        NetworkStream networkStream = new NetworkStream(socketForClient);
                        StreamWriter streamWriter = new StreamWriter(networkStream);
                        StreamReader streamReader = new StreamReader(networkStream);
                        string line = streamReader.ReadLine();

                        string[] logininfo = line.Split(',');
                        if (logininfo[0] == "start" && logininfo[2] == passkey)
                        {
                            if (logininfo[1] == "utilities")
                            {
                                //Console.WriteLine("Starting Up " + logininfo[1] + " Server...");
                                SetText("Starting Up " + logininfo[1] + " Server...");
                                Thread StartANH = new Thread(new ThreadStart(StartAnh));
                                if (flgStartAnh == true)
                                {
                                    StartANH.Abort();
                                    flgStartAnh = false;
                                }
                                StartANH.Start();
                                streamWriter.WriteLine("success");
                                //Console.WriteLine("Updated IP Info for " + logininfo[0] + "...");
                                streamWriter.Flush();
                                socketForClient.Close();
                                //

                            }
                        }
                        else if (logininfo[0] == "stop" && logininfo[2] == passkey)
                        {
                            Thread AnhStop = new Thread(new ThreadStart(StopANH));
                            if (flgStopAnh == true)
                            {
                                AnhStop.Abort();
                                flgStopAnh = false;
                            }
                            AnhStop.Start();
                            streamWriter.WriteLine("success");

                                streamWriter.Flush();
                                socketForClient.Close();
                        }
                        else if (logininfo[0] == "status" && logininfo[2] == passkey)
                        {
                            if (logininfo[1] == "zones")
                            {
                                if (tutorialzone != null && tatooinezone != null && naboozone != null && corelliazone != null && dantooinezone != null && dathomirzone != null && endorzone != null && lokzone != null && rorizone != null && taluszone != null && yavinzone != null)
                                {
                                    streamWriter.WriteLine("success");

                                    streamWriter.Flush();
                                    socketForClient.Close();
                                }
                                else
                                {
                                    streamWriter.WriteLine("fail");

                                    streamWriter.Flush();
                                    socketForClient.Close();
                                }
                            }
                            if (logininfo[1] == "utilities")
                            {
                                if (connectionserver != null && chatserver != null && pingserver != null && loginserver != null)
                                {
                                    streamWriter.WriteLine("success");

                                    streamWriter.Flush();
                                    socketForClient.Close();
                                }
                                else
                                {
                                    streamWriter.WriteLine("fail");

                                    streamWriter.Flush();
                                    socketForClient.Close();
                                }
                            }
                            else if (logininfo[0] == "status" && logininfo[2] != passkey)
                            {

                                        streamWriter.WriteLine("fail");

                                        streamWriter.Flush();
                                        socketForClient.Close();

                                }
                            else if (logininfo[0] == "stop" && logininfo[2] != passkey)
                            {

                                streamWriter.WriteLine("fail");

                                streamWriter.Flush();
                                socketForClient.Close();

                            }
                            else if (logininfo[0] == "start" && logininfo[2] != passkey)
                            {

                                streamWriter.WriteLine("fail");

                                streamWriter.Flush();
                                socketForClient.Close();

                            }
                            }
                        }
                    }

                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                finally
                {
                    //check if client socket is connected, if so close it.
                    if (socketForClient.Connected)
                        socketForClient.Close();
                }
                flgThreadRunning = true;
            }

            Console.WriteLine("Exiting...");
        }