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(); }
public static Ahorcado getInstancia() //singleton { if (Instancia == null) { Instancia = new Ahorcado(); } return(Instancia); }
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(); }