Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come inviare un testo in UDP Socket su Linux

Quando due computer comunicano tra loro , ogni computer stabilisce una presa di corrente . Il computer memorizza la connessione di rete nella presa . Ci sono due tipi di socket comuni: TCP e UDP . UDP è destinato per messaggi brevi . A differenza di TCP , UDP socket inviano i messaggi per intero in un unico blocco , che rende UDP inaffidabile . Sistemi Linux implementano UDP per l'invio di brevi messaggi attraverso le reti. Messaggi UDP costituiti da testo o numeri e sono codificati con il linguaggio C /C + + . Istruzioni
1

Avviare il terminale premendo il tasto " Ctrl ", " Alt " e "T" simultaneamente .
2

Spostarsi nella directory bin tuo codice . Se il vostro bidone codice si trova nella cartella "home" , digitare quanto segue nella riga di comando :

cd /home /bin

Premere " Invio".

3

Creare il file di codice sorgente per il messaggio di testo UDP digitando quanto segue nella riga di comando : .

gedit /udp.c

Premere " Invio". Apparirà la finestra " gedit " sullo schermo con il titolo di " udp.c. "
4

Copia e incolla il seguente codice alla finestra " gedit " :

# include

# include

# include

# include < netinet /in.h >

# include

errore void ( char * msg ) {


perror ( msg ) ; < br uscita >

( 0 ) ; }


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

{

int sockfd , portno , n ;

struct sockaddr_in serv_addr ;

struct hostent * server,

char buffer [ 256 ] ;

if ( argc <3 ) {

fprintf ( stderr , "porto hostname uso % s \\ n" , argv [ 0 ] ) ;

exit ( 0 ) ; }


portno = atoi ( argv [ 2] ) ;

sockfd = socket ( AF_INET , SOCK_STREAM , 0);

se ( sockfd < 0 ) per errore

( " presa apertura ERROR" ) ;
server di

= gethostbyname ( argv [ 1 ] ) ;

se (server == NULL) {

printf ( "ERRORE , no come ospite \\ n ");
uscita

( 0 ) ; }


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

serv_addr.sin_family = AF_INET ;

bcopy ( ( char * ) Server - > h_addr , Stati

( char * ) & serv_addr.sin_addr.s_addr , Stati

server > h_length ) ;

serv_addr.sin_port = htons ( portno ) ;

if ( connect ( sockfd , & serv_addr , sizeof ( serv_addr ) ) < 0 ) per errore

( " Errore di connessione " ) ;

printf (" inserisci il messaggio : " ) ;

bzero (buffer , 256) ;

fgets (buffer , 255 , stdin ) ;

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

if ( n < 0 ) per errore

( " errore di scrittura socket" ) ;

bzero (buffer , 256) ;

n = read ( sockfd , tampone , 255) ;

if ( n < 0 ) per

errore (" errore di lettura dal socket" ) ;

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

return 0; }


5

Salvare il documento facendo clic su "File" e " Salva ".
6

Chiudere la finestra " gedit " facendo clic sulla "X" in alto a destra . Il terminale viene visualizzata sullo schermo del nuovo
7

compilare il codice UDP digitando quanto segue nella riga di comando : .

Gcc- c udp.c

premere il tasto " Enter ". Il terminale visualizza messaggi di stato di avanzamento , come si compila il file .
8

Utilizzare il programma " UDP " per inviare testo tramite un socket UDP . Nella riga di comando , digitare:

UDP

Sostituire " string>

 

Programmazione © www.354353.com