Пример #1
0
        static void Main(string[] args)
        {
            byte[] bytes = new Byte[1024];

            IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 11000);
            Socket     listener      = new Socket(IPAddress.Any.AddressFamily,
                                                  SocketType.Stream, ProtocolType.Tcp);
            String Respuesta = "";

            try
            {
                listener.Bind(localEndPoint);
                listener.Listen(10);
                while (true)
                {
                    Console.WriteLine("Esperando por conexiones ...");
                    Socket handler = listener.Accept();
                    // La conexion de entrada necesita ser procesada.
                    int      bytesRec  = handler.Receive(bytes);
                    string   solicitud = Encoding.ASCII.GetString(bytes, 0, bytesRec);
                    string   mensaje   = Encoding.ASCII.GetString(bytes, 0, bytesRec);
                    String[] a1        = solicitud.Split(':');
                    if (solicitud == "op:Iniciar")
                    {
                        Respuesta = Ahorcado.getInstancia().Iniciar();
                    }

                    else if (a1[0] == "Palabra")
                    {
                        String[] sol = solicitud.Split(':');
                        string   a   = sol[1];
                        Respuesta = Ahorcado.getInstancia().BuscarPalabra(a).ToString();
                    }
                    else if (a1[0] == "Letra")
                    {
                        String[] sol   = solicitud.Split(':');
                        char     marca = sol[1][0];
                        Respuesta = Ahorcado.getInstancia().Buscar(marca);;
                    }
                    else if (solicitud == "op:Estado")
                    {
                        int a = Ahorcado.getInstancia().Estado;
                        Respuesta = a.ToString();
                    }
                    byte[] msg = Encoding.ASCII.GetBytes(Respuesta);
                    handler.Send(msg);
                    Console.WriteLine("Texto recibido: {0}", solicitud);
                    Console.WriteLine("Texto enviado: {0}", Respuesta);

                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            Console.WriteLine("\nPresiones ENTER para continuar...");
            Console.Read();
        }
Пример #2
0
 public static Ahorcado getInstancia() //singleton
 {
     if (Instancia == null)
     {
         Instancia = new Ahorcado();
     }
     return(Instancia);
 }
Пример #3
0
        public static void StartListening()
        {
            // Bufer de Datos paralosdatos recibidos
            byte[] bytes = new Byte[1024];

            // Establece el punto deentrada final para el socket.
            // Dns.GetHostName devuelve el nombre del host donde correr la aplicacion
            IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
            IPAddress   ipAddress  = ipHostInfo.AddressList[0];

            IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 11000);

            // Crea un Socket TCP/IP x.
            Socket listener = new Socket(IPAddress.Any.AddressFamily,
                                         SocketType.Stream, ProtocolType.Tcp);


            try
            {
                listener.Bind(localEndPoint);
                listener.Listen(10);

                // Inicia a escuchas miestras llegan conexiones.
                while (true)
                {
                    Console.WriteLine("Esperando por ceonexiones ...");
                    // el Programa es suspendido mientras espera oconexiones de entrada .
                    Socket handler = listener.Accept();
                    data = null;

                    // La conexion de entrada necesita ser procesada.
                    int bytesRec = handler.Receive(bytes);
                    data = Encoding.ASCII.GetString(bytes, 0, bytesRec);
                    String   respuesta = "";
                    String[] envio     = data.Split(':');
                    if (envio[0] == "op")
                    {
                        if (envio[1] == "iniciar")
                        {
                            Ahorcado.getInstancia().Iniciar();
                            respuesta = Ahorcado.getInstancia().getGuiones();
                        }
                        if (envio[1] == "estado")
                        {
                            respuesta = Ahorcado.getInstancia().getEstado().ToString();
                        }
                    }
                    if (envio[0] == "letra")
                    {
                        respuesta = Ahorcado.getInstancia().Buscar(envio[1][0]);
                    }
                    if (envio[0] == "palabra")
                    {
                        respuesta = Ahorcado.getInstancia().BuscarPalabra(envio[1]);
                    }



                    // Muestra los datos en la consola .
                    Console.WriteLine("Texto recibido: {0}", data);
                    // Muestra los datos en la consola .
                    Console.WriteLine("Texto enviado: {0}", respuesta);

                    // Prepara los datos para responder  al cliente.
                    byte[] msg = Encoding.ASCII.GetBytes(respuesta);

                    handler.Send(msg);
                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("\nPresiones ENTER para continuar...");
            Console.Read();
        }