static void Connect(String server, String message) { //Reference to library class XmlWorker.XmlConverter converter = new XmlWorker.XmlConverter(); String[] example = new String[1]; example[0] = "fuego"; try { // Create a TcpClient. // Note, for this client to work you need to have a TcpServer // connected to the same address as specified by the server, port // combination. Int32 port = 13000; TcpClient client = new TcpClient(server, port); // Translate the passed message into ASCII and store it as a Byte array. Byte[] data = System.Text.Encoding.ASCII.GetBytes(converter.ProcessXmlResponse(example, false)); // Get a client stream for reading and writing NetworkStream stream = client.GetStream(); // Send the message to the connected TcpServer. stream.Write(data, 0, data.Length); Console.WriteLine("Sent: {0}", converter.ProcessXmlResponse(example, false)); // Receive the TcpServer.response. // Buffer to store the response bytes. data = new Byte[256]; // String to store the response ASCII representation. String responseData = String.Empty; // Read the first batch of the TcpServer response bytes. Int32 bytes = stream.Read(data, 0, data.Length); responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); Console.WriteLine("Received: {0}", responseData); // Close everything. stream.Close(); client.Close(); } catch (ArgumentNullException e) { Console.WriteLine("ArgumentNullException: {0}", e); } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } Console.WriteLine("\n Press Enter to continue..."); Console.Read(); }
/* * Normal: débil frente a Lucha * Fuego: débil frente a Agua, Tierra, Roca * Agua: débil frente a Planta, Eléctrico * Planta: débil frente a Fuego, Hielo, Veneno, Volador, Bicho * Eléctrico: débil frente a Tierra * Hielo: débil frente a Fuego, Lucha, Roca, Acero * Lucha: débil frente a Volador, Psíquico, Hada * Veneno: débil frente a Tierra, Psíquico * Tierra: débil frente a Agua, Planta, Hielo * Volador: débil frente a Eléctrico, Hielo, Roca * Psíquico: débil frente a Bicho, Fantasma, Siniestro * Bicho: débil frente a Volador, Roca, Fuego * Roca: débil frente a Agua, Planta, Lucha, Tierra, Acero * Fantasma: débil frente a Fantasma, Siniestro * Dragón: débil frente a Hielo, Dragón, Hada * Siniestro: débil frente a Lucha, Bicho, Hada * Acero: débil frente a Fuego, Lucha, Tierra * Hada: débil frente a Veneno, Acero * */ public String SendAllTypes() { List <String> ListTypes = new List <String>(); ListTypes.Add("Normal"); ListTypes.Add("Fuego"); ListTypes.Add("Agua"); XmlWorker.XmlConverter converter = new XmlWorker.XmlConverter(); return(converter.ProcessXmlResponse(ListTypes.ToArray(), true)); }
public void ProcessRequest() { XmlWorker.XmlConverter converter = new XmlWorker.XmlConverter(); Byte[] bytes = new Byte[256]; String data = null; NetworkStream stream = client.GetStream(); Int32 i = stream.Read(bytes, 0, bytes.Length); // Traducimos los datos enviados a un string ASCII data = System.Text.Encoding.ASCII.GetString(bytes, 0, i).Trim(); // Determinamos el tipo de conversión y la efectuamos if (data == "tipos") { data = SendAllTypes(); } else { data = converter.ProcessXmlResponse(GetWeaknessTypes(converter.GetXmlData(data)), true); } Byte[] msg = System.Text.Encoding.ASCII.GetBytes(data); stream.Write(msg, 0, msg.Length); // Cerramos el cliente y la conexión con él client.Close(); }