Esempio n. 1
0
        /// <summary>
        /// This methods allow server to listen for any incomming users request
        /// </summary>
        private static void ListenForIncommingRequests()
        {
            try
            {
                // Create listener on ADDRESS & PORT.
                tcpListener = new TcpListener(ServerProperties.getAddress(), ServerProperties.getPort());
                tcpListener.Start();

                // Server is started
                Console.WriteLine("Server is listening on : {0}:{1}", ServerProperties.getAddress(), ServerProperties.getPort());
                Byte[] bytes = new Byte[1024];

                while (true)
                {
                    using (connectedTcpClient = tcpListener.AcceptTcpClient())
                    {   // Get a stream object for reading
                        using (NetworkStream stream = connectedTcpClient.GetStream())
                        {
                            int length;
                            // Read incomming stream into byte arrary.
                            while ((length = stream.Read(bytes, 0, bytes.Length)) != 0)
                            {
                                var incommingData = new byte[length];
                                Array.Copy(bytes, 0, incommingData, 0, length);

                                // Convert byte array to string message.
                                string clientMessage = Encoding.ASCII.GetString(incommingData);
                                Console.WriteLine("Client send : " + clientMessage);

                                // Client message filter and process
                                RequestManager(clientMessage);
                            }
                        }
                    }
                }
            }
            catch (SocketException socketException)
            {
                Console.WriteLine("SocketException : " + socketException.ToString());
            }
        }