erro 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; 
 
 de char buffer [ 256]; 
 
 if ( argc <3 ) { 
 
 fprintf ( stderr, " o uso de % s hostname port \\ n", argv [ 0]); 
 
 exit ( 0); } 
 
 
 
 portno = atoi ( argv [ 2] ); 
 
 sockfd = socket ( AF_INET , SOCK_STREAM , 0); 
 
 if ( sockfd <0) 
 
 erro ( "socket erro ao abrir "); 
 
 server = gethostbyname ( argv [ 1] ); 
 
 if ( server == null) { 
 
 fprintf (stderr , "ERRO , nenhuma máquina \\ n "); 
 
 exit ( 0); } 
 
 
 
 bzero ( (char * ) & serv_addr , sizeof ( serv_addr ) ); 
 
 serv_addr.sin_family = AF_INET ; 
 
 bcopy ( (char * ) server- > h_addr , 
 
 (char * ) & serv_addr.sin_addr.s_addr , 
 
 servidor > h_length ); 
 
 serv_addr.sin_port = htons ( portno ); 
 
 if ( connect ( sockfd , e serv_addr , sizeof ( serv_addr ) ) < 0) 
 
 erro ( " Erro ao conectar "); 
 
 printf ( "Por favor insira a mensagem :"); 
 
 bzero (buffer, 256) ; 
 
 fgets (buffer, 255, stdin ); 
 
 n = write ( sockfd , buffer, strlen ( buffer) ); 
 
 if ( n < 0) 
 
 erro ( " erro ao escrever no socket" ) ; 
 
 bzero (buffer, 256) ; 
 
 n = ler ( sockfd , buffer, 255); 
 
 if ( n < 0) 
 
 erro ( " erro ao ler do socket" ); 
 
 printf ( "% s \\ n", buffer); 
 
 return 0; } 
 
 
 5 
 Salve o documento , clicando em " Arquivo" e " Salvar". 
 6 
 Feche a janela " gedit ", clicando no "X " no canto superior direito. O terminal irá aparecer na tela novamente 
 7 
 Compilar o código UDP , digitando o seguinte na linha de comando : . 
 
 Gcc -c udp.c 
 
 Pressione " Enter". O terminal irá exibir mensagens de status de progresso , uma vez que compila o arquivo . 
 8 
 Use o programa " udp " para enviar mensagens de texto através de um socket UDP . Na linha de comando , digite: 
 
 udp  
  Substituir "  " com o endereço IP de um computador remoto ao qual você tem acesso à rede.