fel void ( char * msg ) katalog
{
perror ( msg ) ;
exit ( 0 ) ;
}
int main ( int argc , char * argv [ ] ) katalog
{
int sockfd , portno , n;
struct sockaddr_in serv_addr ,
struct hostent * server ,
char buffer [ 256 ] ;
om ( argc < 3 ) {
fprintf ( stderr , " användning % s värdnamn port \\ n " , argv [ 0 ] ) ;
exit ( 0 ) ,
}
portno = atoi ( argv [ 2 ] ) ;
sockfd = socket ( AF_INET , SOCK_STREAM , 0 ) ;
om ( sockfd < 0 ) katalog
fel ( " Fel vid öppning socket " ) ;
server = gethostbyname ( argv [ 1 ] ) ;
om ( server == null ) {
fprintf ( stderr , " ERROR , Ingen sådan värd \\ 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 ,
server - > h_length ) ,
serv_addr.sin_port = htons ( portno ) ;
if ( connect ( sockfd , & serv_addr , sizeof ( serv_addr ) ) < 0 ) katalog
fel ( " Fel vid anslutning " ) ;
printf ( " Ange meddelandet : " ) ;
Bzero ( buffert , 256 ) ;
fgets ( buffert , 255 , stdin ) ;
n = write ( sockfd , buffert , strlen ( buffert ) ) ;
if ( n < 0 ) katalog
fel ( " fel vid skrivning till socket " ) ;
Bzero ( buffert , 256 ) ;
n = read ( sockfd , buffert , 255 ) ;
if ( n < 0 ) katalog
error ( " fel vid läsning från socket " ) ;
printf ( " % s \\ n " , buffer ) ;
avkastning 0;
}
5
Spara dokumentet genom att klicka på " File " och " Spara ".
6
Stäng " gedit " fönstret genom att klicka på " X " i övre högra hörnet . Terminalen kommer att visas på skärmen igen
7
Kompilera UDP -koden genom att skriva följande på kommandoraden : .
Gcc - c udp.c
Tryck på " Enter ". Terminalen kommer att visa meddelanden förloppsstatus som sammanställer filen .
8
Använd " udp " program för att skicka text via en UDP socket . På kommandoraden skriver :
udp
Ersätt " " med strängen du vill skicka . Ersätt " " med IP-adressen för fjärrdatorn som du har tillgång till nätverket.