“Conocimiento Programación>C /C + + Programming

Cómo enviar un Socket Texto en UDP en Linux

2011/4/2
Cuando dos equipos se comunican entre sí , cada equipo 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 enviar mensajes completos en un solo bloque , lo que hace que UDP no fiable. Sistemas Linux implementan UDP para 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

Inicie el terminal presionando " 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

Pulse " Enter".

3

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

gedit /udp.c

Pulse " Enter". Aparecerá la ventana " gedit " en la pantalla con el título " udp.c. "
4

Copia y pega el siguiente código en la ventana de " gedit ":

# include

# include

# include

# include < netinet /in.h >

# include

error void ( char * msg) {


perror (msg ) ;
exit

( 0 ) ; }


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


int sockfd , portno , n ;

struct sockaddr_in serv_addr ;

struct hostent * servidor;

char buffer [ 256 ] ;

if ( argc < 3 ) {

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

( 0 ) ; }


< p> portno = atoi ( argv [ 2 ] ) ;

sockfd = socket ( AF_INET , SOCK_STREAM , 0);

if ( sockfd < 0 )
error

( " Error al abrir socket ");
servidor

= gethostbyname ( argv [ 1 ] ) ;

if ( servidor == NULL ) {

fprintf ( stderr , "ERROR , no como anfitrión \\ n ");
salida

( 0 ) ; }


bzero ( (char *) y serv_addr , sizeof ( serv_addr ));
< p> serv_addr.sin_family = AF_INET ;

bcopy ( (char * ) server- > h_addr ,

(char *) y serv_addr.sin_addr.s_addr ,

servidor > h_length ) ;

serv_addr.sin_port = htons ( portno ) ;

if ( connect ( sockfd , y serv_addr , sizeof ( serv_addr ) ) < 0 )
error

( " Error al conectar ");

printf ("Escriba el mensaje :") ;

bzero (buffer, 256);

fgets (buffer, 255 , stdin ) ;

n = write ( sockfd , buffer, strlen ( buffer) ) ;

if ( n < 0 )

error ( " error al escribir en socket ") ;

bzero (buffer, 256);

n = read ( sockfd , buffer, 255 ) ;

if ( n < 0 )

error (" error al leer del socket ");

printf ("% s \\ n", buffer) ;

return 0; }


5

Guardar el documento haciendo clic en " archivo" y " Guardar".
6

Cerrar 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

Pulse el botón " Enter". 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 IP>

Reemplazar " " con la cadena que desea enviar . Reemplazar " IP>

C /C + + Programming
¿Qué componente de programación proporciona una ubicación temporal de almacenamiento con nombre temporal en la memoria de la computadora que no puede cambiar durante la ejecución del programa?
¿Cuál es la diferencia entre registro de índice y puntero de pila?
Cómo importar DLL uso de un código no administrado
Cómo realizar ingeniería inversa en Visual C
¿Programa C para organizar el conjunto de números en orden descendente?
Cómo solucionar Error de aserción Visual C
¿Cómo hacer una raíz cuadrada en C + +
Cómo compilar Flex para iPhone
Conocimiento de la computadora © http://www.ordenador.online