VideoCallServer.TCPServer.ServerThreadStart C# (CSharp) Method

ServerThreadStart() private method

TCP/IP Server Thread that is listening for clients.
private ServerThreadStart ( ) : void
return void
        private void ServerThreadStart()
        {
            // Client Socket variable;
            Socket clientSocket = null;
            TCPSocketListener socketListener = null;
            while (!m_stopServer)
            {
                try
                {
                    // Wait for any client requests and if there is any
                    // request from any client accept it (Wait indefinitely).
                    clientSocket = m_server.AcceptSocket();
                    // Create a SocketListener object for the client.
                    socketListener = new TCPSocketListener(clientSocket, this);

                    // Start a communicating with the client in a different
                    // thread.
                    if (socketListener.StartSocketListener())
                    {
                        // Add the socket listener to an array list in a thread
                        // safe fashon.
                        //Monitor.Enter(m_socketListenersList);
                        lock (m_socketListenersList)
                        {
                            m_socketListenersList.Add(socketListener);
                            //Program.MainForm.AddConnection(clientSocket.RemoteEndPoint.ToString());
                        }

                    }
                    else
                        clientSocket.Disconnect(false);
                }
                catch (SocketException)
                {
                    m_stopServer = true;
                }
            }
        }