Enviar cadena string mediante socket TCP a un puerto con C#

Diferentes aplicaciones, o incluso la misma tras el modelo cliente/servidor, pueden necesitar enviarse información mediante la red, usando el protocolo TCP/IP.

De esta manera, enviar cadenas de texto a un puerto de un servidor con una aplicación que tenga un socket esperando para leer datos es muy sencillo con C#

Usaremos la clase TcpClient, que se encarga de crear un socket para enviar y recibir datos a través de la red.

Primero de todo referenciaremos dos librerías:

using System.Net.Sockets;
using System.IO;

Tras esto, creamos un objeto TcpClient y escribimos un texto ascii enviandolo al puerto de un servidor:

Stream Stm = null;
byte[] bufferEscritura = null;

TcpClient tcpClnt = new TcpClient();
  
// Conecto el socket al servidor.
tcpClnt.Connect("nombre_servidor", 9876);
Stm = tcpClnt.GetStream();

if (Stm.CanWrite)
{
    bufferEscritura = Encoding.ASCII.GetBytes("texto a enviar");

    if ((Stm != null))
    {
        //Envio los datos al Servidor
        Stm.Write(bufferEscritura, 0, bufferEscritura.Length);
    }
}

tcpClnt.Close();
tcpClnt = null;

Cuando se llama al método Connect, sustituir el nombre del servidor y puerto del ejemplo por aquel donde queráis enviar vuestra cadena de texto ascii.

 

10372 visitas.

2 comentarios sobre “Enviar cadena string mediante socket TCP a un puerto con C#

  1. Muy buen ejemplo para ensayar esta comunicación.
    Cómo sería el código para mostrar los datos que se reciben desde el servidor?
    Muchas gracias

Responder a daniel menendez Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *