Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να στείλετε ένα Socket κειμένου στο UDP για Linux

Όταν δύο υπολογιστές επικοινωνούν μεταξύ τους , κάθε υπολογιστής δημιουργεί μια πρίζα . Ο υπολογιστής αποθηκεύει τη σύνδεση δικτύου στην υποδοχή . Υπάρχουν δύο κοινοί τύποι υποδοχή : TCP και UDP . UDP προορίζεται για σύντομα μηνύματα. Αντίθετα με το TCP , UDP sockets στέλνουν ολόκληρα τα μηνύματα σε ένα ενιαίο σύνολο, το οποίο καθιστά αναξιόπιστο UDP . Linux συστήματα εφαρμογή UDP για την αποστολή σύντομων μηνυμάτων σε όλα τα δίκτυα . UDP μηνύματα αποτελούνται είτε από κείμενο ή αριθμούς και κωδικοποιούνται με τη γλώσσα C /C + + προγραμματισμό . Οδηγίες
Η 1

ξεκινήσει το τερματικό πατώντας το πλήκτρο " Ctrl ", " Alt " και " Τ " ταυτόχρονα . 2

Αλλάξτε τον κατάλογο στον κώδικα κάδο σας . Εάν ο κωδικός bin σας είναι στο "σπίτι" φάκελο , πληκτρολογήστε τα ακόλουθα στη γραμμή εντολών :

cd /home /bin

Πατήστε το πλήκτρο " Enter".
Η
3

Δημιουργήστε το αρχείο πηγαίου κώδικα για το μήνυμα κειμένου UDP πληκτρολογώντας τα ακόλουθα στη γραμμή εντολών : .

gedit /udp.c

Πατήστε το πλήκτρο " Enter". Το παράθυρο " gedit " θα εμφανιστεί στην οθόνη με τον τίτλο " udp.c. "
Η

4 Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο " gedit " παράθυρο :

# include

# include

# include

# include

# include

άκυρη σφάλμα ( char * msg )

{

perror ( msg ) ?

εξόδου ( 0 ) ?

}

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


int sockfd , portno , n ?

struct sockaddr_in serv_addr ?

struct hostent * server?

char buffer [ 256 ] ?

if ( argc <3 ) {

fprintf ( stderr , "hostname θύρα \\ n χρήση % s" , argv [ 0 ] ) ?

εξόδου ( 0 ) ?

}

portno = atoi ( argv [ 2 ] ) ?

sockfd = socket ( AF_INET , SOCK_STREAM , 0 ) ?

αν ( <0 sockfd )

σφάλματος ( "ΣΦΑΛΜΑ ανοίγματος για την υποδοχή ») ?

διακομιστή = gethostbyname ( argv [ 1 ] ) ?

αν ( διακομιστής == NULL) {

fprintf ( stderr , " ΣΦΑΛΜΑ , καμία τέτοια υποδοχής \\ n " ) ?

εξόδου ( 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 ) ?

αν (σύνδεση ( sockfd , & serv_addr , sizeof ( serv_addr ) ) <0 )

σφάλματος ( "ΣΦΑΛΜΑ σύνδεσης ")?

printf ( " Παρακαλώ εισάγετε το μήνυμα : " ) ?

bzero ( buffer , 256 ) ?

fgets ( buffer , 255 , stdin ) ?

n = write ( sockfd , ρυθμιστικό , strlen ( buffer ) ) ?

if ( n <0 )

σφάλματος ( " σφάλμα κατά την εγγραφή στην πρίζα " ) ?

bzero ( buffer , 256 ) ?

n = read ( sockfd , ρυθμιστικό , 255 ) ?

if ( n <0 )

σφάλμα ( "Σφάλμα ανάγνωσης από την υποδοχή ») ?

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

επιστροφή 0? }


Η 5

Αποθηκεύστε το έγγραφο κάνοντας κλικ στο " Αρχείο" και "Αποθήκευση".
Η

6 Κλείστε το παράθυρο " gedit " κάνοντας κλικ στο " Χ " στην επάνω δεξιά γωνία . Το τερματικό θα εμφανιστεί στην οθόνη και πάλι
Η 7

Συντάξτε τον κώδικα UDP , πληκτρολογώντας τα ακόλουθα στη γραμμή εντολών : .

Gcc -c udp.c

Πατήστε το πλήκτρο " Enter". Το τερματικό θα εμφανίζει μηνύματα κατάστασης προόδου , ​​καθώς συγκεντρώνει το αρχείο .
8

Χρησιμοποιήστε το " udp " πρόγραμμα για να στείλει το κείμενο μέσω ενός UDP socket . Στη γραμμή εντολών, πληκτρολογήστε :

udp

Αντικατάσταση " " με την σειρά που θα θέλατε να στείλετε . Αντικαταστήστε το " " με τη διεύθυνση IP ενός απομακρυσμένου υπολογιστή στον οποίο έχετε πρόσβαση στο δίκτυο .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα