-
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.