Tecnología

Inicio

Cómo enviar un zócalo Texto en UDP en Linux

Cómo enviar un zócalo Texto en UDP en Linux


Cuando dos equipos se comunican entre sí, cada ordenador establece un socket. El ordenador almacena la conexión de red en el zócalo. Hay dos tipos de conectores comunes: TCP y UDP. UDP es para mensajes cortos. A diferencia de TCP, UDP sockets envían los mensajes completos en un solo bloque, lo que hace que UDP no fiable. sistemas Linux implementan UDP al enviar mensajes cortos a través de redes. mensajes UDP se componen de texto o números, que se codifican con el lenguaje de programación C C / ++.

Instrucciones

1 Lanzar el terminal pulsando la tecla "Ctrl", "Alt" y "T" al mismo tiempo.

2 Cambie los directorios a la papelera de código. Si la papelera de código se encuentra en la carpeta "home", escriba lo siguiente en la línea de comandos:

cd / home / bin

Presione ENTRAR."

3 Crear el archivo de código fuente para el mensaje de texto UDP escribiendo lo siguiente en la línea de comandos:

./udp.c gedit

Presione ENTRAR." La ventana "gedit" aparecerá en la pantalla con el título "udp.c."

4 Copia y pega el código siguiente a la ventana "gedit":

incluir <stdio.h> incluir <sys / types.h> incluir <sys / socket.h> incluir <netinet / in.h> incluir <netdb.h>

de error nula (char * msg)

{

perror(msg);

exit (0);

}

int main (int argc, char * argv [])

{

int sockfd, portno, n;

struct serv_addr sockaddr_in;

struct hostent * servidor;

char buffer [256];

si (argc & lt; 3) {

fprintf (stderr, "el uso de% s puerto nombre de host \ n", argv [0]);

exit (0);

}

portno = atoi (argv [2]);

sockfd = socket (AF_INET, SOCK_STREAM, 0);

si (sockfd & lt; 0)

de error ( "Toma de apertura ERROR");

server = gethostbyname (argv [1]);

si (servidor == NULL) {

fprintf (stderr, "ERROR, tal anfitrión \ n");

exit (0);

}

bzero ((char *) y serv_addr, sizeof (serv_addr));

serv_addr.sin_family = AF_INET;

bcopy ((char *) servidor-> h_addr,

(Char *) y serv_addr.sin_addr.s_addr,

servidor-> h_length);

serv_addr.sin_port = htons (portno);

si (connect (sockfd, y serv_addr, sizeof (serv_addr)) & lt; 0)

de error ( "Error de conexión");

printf ( "Por favor, introduzca el mensaje:");

bzero (buffer, 256);

fgets (buffer, 255, la entrada estándar);

n = escritura (sockfd, tampón, strlen (buffer));

si (n & lt; 0)

de error ( "Error al escribir, al enchufe");

bzero (buffer, 256);

n = read (sockfd, tampón, 255);

si (n & lt; 0)

de error ( "Error al leer del socket");

printf ( "% s \ n", tampón);

return 0;

}

5 Guardar el documento haciendo clic en "Archivo" y "Guardar".

6 Cierre la ventana "gedit" haciendo clic en la "X" en la esquina superior derecha. El terminal aparecerá en la pantalla de nuevo.

7 Compilar el código UDP escribiendo lo siguiente en la línea de comandos:

gcc -c udp.c

Presione ENTRAR." El terminal mostrará mensajes de estado de progreso, ya que compila el archivo.

8 Utilice el programa "UDP" para enviar mensajes de texto a través de un socket UDP. En la línea de comandos, escriba:

udp <alguna cadena> <alguna dirección>

Reemplazar "<alguna cadena>" con la cadena que desea enviar. Reemplazar "<alguna dirección>" con la dirección IP de un equipo remoto al que tenga acceso a la red.