示例#1
0
    //------------------------------------------------------------>

    /**
     * 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();
        }
    }
示例#2
0
    //------------------------------------------------------------>

    /**
     * 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();
        }
    }
示例#3
0
    //------------------------------------------------------------>

    /**
     * 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();
        }
    }