Exemplo n.º 1
0
        public static void BotListener()
        {
            Socket BotSocket = Program.tcpListener.AcceptSocket();

            if (BotSocket.Connected)
            {
                Acciones.alConectar(BotSocket);

                NetworkStream redStream      = new NetworkStream(BotSocket);
                StreamWriter  escritorStream = new StreamWriter(redStream);
                StreamReader  lectorStream   = new StreamReader(redStream);

                Acciones.Handshake(BotSocket, escritorStream);

                while (MantenerConexion)
                {
                    string mensajeRecibido = lectorStream.ReadLine();

                    Recibidos.Interpretar(mensajeRecibido, lectorStream, escritorStream, BotSocket);
                }

                lectorStream.Close();
                redStream.Close();
                escritorStream.Close();
            }

            Acciones.alDesconectar(BotSocket);
            Consola.LeerInput();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Consola.Inicializar();

            Configuracion = Json.Deserialize <Configuracion>(File.ReadAllText("server.json"));
            Consola.Escribir($"\tSe ha cargado la configuración", ConsoleColor.Green);

            Cuentas.Inicializar();
            Campeones.Inicializar();

            tcpListener = new TcpListener(IPAddress.Parse(Configuracion.Ip), Configuracion.Puerto);

            tcpListener.Start();

            Consola.Escribir($"\tServidor iniciado con un límite de {Program.Configuracion.LimiteBots} bot(s)", ConsoleColor.Cyan);
            Consola.Escribir($"\tIp: {Configuracion.Ip}, Puerto: {Configuracion.Puerto}", ConsoleColor.Cyan);

            for (int i = 0; i < Configuracion.LimiteBots; i++)
            {
                Console.ForegroundColor = ConsoleColor.Black;
                Thread newThread = new Thread(new ThreadStart(ServerService.BotListener));
                newThread.Start();
            }

            Consola.LeerInput();
        }