Beispiel #1
0
        public Game(Character Char, SocketHandler SocketHandler, ILanguage language)
        {
            SH        = SocketHandler;
            character = Char;
            map       = Map.GetMap();
            lang      = language;

            // Result
            result = new Result();

            result.Commands = MAP_COMMANDS;


            result.Info = "";
            MapToResult();
            result.Level = character.Level.ToString();
        }
        // !!!END OF SINGLETON WARNING!!!

        public void StartListen()
        {
            try
            {
                // Start listening
                ListenSocket.Bind(ipPoint);
                ListenSocket.Listen(32);

                if (Program.ConsoleMessages)
                {
                    Console.WriteLine("Start listening for connection");
                }

                // Socket handler
                while (true)
                {
                    Socket        handler = ListenSocket.Accept();
                    SocketHandler SH      = new SocketHandler(handler);

                    if (Program.ConsoleMessages)
                    {
                        Console.WriteLine("Client connected");
                    }

                    ConnectionList.Add(SH);

                    Thread Handler      = new Thread(SH.Handle);
                    Thread CloseChecker = new Thread(new ParameterizedThreadStart(SH.CloseCheck));

                    Handler.Start();
                    CloseChecker.Start(Handler);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
            finally
            {
                ListenSocket.Close();
            }
        }