//------------------------------------------------------------> /** * Establecer la comunicacion con el servidor */ public void startClient() { //Establecer la conexion TCP con el servidor con el certificado digital TcpClient client = new TcpClient(serverDirection, serverPort); SslStream sslStream = new SslStream(client.GetStream(), false, ValidateServerCertificate); //Crear flujo comunicacion segura sslStream.AuthenticateAsClient(serverDirection); // Autenticarse con el servidor bajo el protocolo TLS1.2 if (sslStream.IsAuthenticated) { Console.WriteLine("✅ Conectado al servidor"); //Enviar datos al servidor byte[] outputBuffer = new byte[512]; outputBuffer = Encoding.UTF8.GetBytes("Hola caracola 🐌"); sslStream.Write(outputBuffer); sslStream.Flush(); // Vaciar el buffer para hacer que los datos de el se envíen inmediatamente //Recibir datos del servidor byte[] inputBuffer = new byte[512]; sslStream.Read(inputBuffer, 0, inputBuffer.Length); Console.WriteLine("\n🟦 Recibido mensaje del servidor:"); Console.WriteLine(Encoding.UTF8.GetString(inputBuffer)); NetworkConnMain.PrintPackageBytes(inputBuffer); //Cerrar la comunicacion con el servidor client.Close(); } }
//------------------------------------------------------------> /** * Establecer la comunicacion con el servidor */ public void startClient() { //Establecer la conexion TCP con el servidor con el certificado digital TcpClient client = new TcpClient(serverDirection, serverPort); SslStream sslStream = new SslStream(client.GetStream(), false, ValidateServerCertificate); //Crear flujo comunicacion segura sslStream.AuthenticateAsClient(serverDirection); // Autenticarse con el servidor bajo el protocolo TLS1.2 if (sslStream.IsAuthenticated) { Console.WriteLine("✅ Conectado al servidor"); //Enviar datos al servidor User user = new User(); user.id = 4; user.name = "Tobias"; byte[] outputBuffer = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(user)); //Convertir el objeto en formato json y a su vez en array de bytes para el envio sslStream.Write(outputBuffer); sslStream.Flush(); // Vaciar el buffer para hacer que los datos de el se envÃen inmediatamente //Recibir datos del servidor byte[] inputBuffer = new byte[512]; sslStream.Read(inputBuffer, 0, inputBuffer.Length); user = JsonConvert.DeserializeObject <User>(Encoding.UTF8.GetString(inputBuffer)); Console.WriteLine("\n🟦 Recibida respuesta del servidor:"); Console.WriteLine("Segun el servidor " + user.name + " " + (user.admin?"es administrador.":"no es administrador")); NetworkConnMain.PrintPackageBytes(inputBuffer); //Cerrar la comunicacion con el servidor client.Close(); } }
//------------------------------------------------------------> /** * Establecer la comunicacion con el servidor */ public void startClient() { //Establecer la conexion TCP con el servidor IPEndPoint server = new IPEndPoint(IPAddress.Parse(serverDirection), serverPort); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(server); Console.WriteLine("✅ Conectado al servidor"); if (socket.Connected) { //Enviar datos al servidor byte[] outputBuffer = new byte[512]; outputBuffer = Encoding.UTF8.GetBytes("Digamelón 🍈"); socket.Send(outputBuffer); //Recibir datos del servidor byte[] inputBuffer = new byte[512]; socket.Receive(inputBuffer); Console.WriteLine("\n🟦 Recibido mensaje del servidor:"); Console.WriteLine(Encoding.UTF8.GetString(inputBuffer)); NetworkConnMain.PrintPackageBytes(inputBuffer); //Cerrar la comunicacion con el servidor socket.Close(); } }