συστήματα

* Γνώση Υπολογιστών >> συστήματα >> Unix

Unix τομέα Sockets Tutorial

Unix παρέχει μια τεχνολογία γνωστή ως υποδοχές τομέα για να διευκολύνει την επικοινωνία μεταξύ των διαφόρων διαδικασιών και ακόμη και διαφορετικές εφαρμογές . Μία από τις παραξενιές του socket του τομέα Unix είναι ότι φαίνεται σε εφαρμογές να είναι ένα αρχείο . Ωστόσο , η υποδοχή δεν αποθηκεύονται στο σκληρό δίσκο και τη θέση της στο σύστημα αρχείων είναι απλώς χρησιμοποιείται ως δείκτης . Τα δεδομένα μπορούν να γραφτούν και να διαβαστούν από έναν τομέα πρίζα Unix από τα πιο σημαντικά γλώσσες προγραμματισμού που υποστηρίζουν πρίζες . Ruby καθιστά τη διαδικασία ιδιαίτερα εύκολα , επιτρέποντας οι έννοιες να αποδειχθεί χωρίς να επισκιάζεται από την πλήρη πολυπλοκότητα του προγραμματισμού socket σε C + + . Οδηγίες
Η 1

Open δύο νέα έγγραφα με το αγαπημένο σας επεξεργαστή κειμένου . Για να κρατήσει τα πράγματα κατ 'ευθείαν , να προχωρήσει και να αποθηκεύσετε το πρώτο με το όνομα " udsServer.rb » και το άλλο με το όνομα " udsClient.rb . " Όπως ίσως υποψιάζεστε , ο διακομιστής θα χειριστεί τη δημιουργία και το γράψιμο στην υποδοχή και ο πελάτης θα συνδεθεί με την πρίζα και θα λάβετε ένα μήνυμα από το πρώτο 2

Επικολλήστε τον ακόλουθο σε usdServer.rb . :

# /usr /bin /ruby

απαιτούν « υποδοχή »

s = UNIXServer.open ( " /mytestsocket " )

= πελάτη s . αποδεχθεί

client.puts "Γεια σας , αγαπητέ μου φίλε . "

s.close

File.unlink ( " /mytestsocket " )

Ο Κώδικας εκτελεί τις ακόλουθες λειτουργίες : πρώτον , λέει Unix λειτουργικό σύστημα που πρόκειται για ένα script Ruby . Μπορεί να χρειαστεί να αλλάξετε αυτή τη γραμμή , αν Unix λειτουργικό σας σύστημα εγκατεστημένο Ruby σε άλλο κατάλογο . Μπορείτε να βρείτε τον κατάλογο πληκτρολογώντας ", το οποίο ruby " σε ένα τερματικό .

Συνέχεια, φορτώνεται η βιβλιοθήκη πρίζα . Στη συνέχεια , UnixServer δημιουργεί μια υποδοχή στο αρχείο " mytestsocket . " Αυτό το αρχείο θα είναι πραγματικά ορατές σε τερματικό BASH σας , αν σας ενδιαφέρει να δούμε , αν και δεν θα είναι σε θέση να διαβάσει και να γράψει από αυτό . Στη συνέχεια περιμένει για ένα άλλο σενάριο για να συνδεθείτε και , όταν το κάνει, στέλνει ένα φιλικό μήνυμα . Τέλος , κλείνει την υποδοχή και « Κατάργηση της σύνδεσης " η υποδοχή από το σύστημα αρχείων .

Αυτό είναι για τον server , τώρα ήρθε η ώρα να γράψει τον πελάτη .
Εικόνων 3

Επικολλήστε τον παρακάτω στο έγγραφο udsClient.rb :

# /usr /bin /ruby

απαιτούν « υποδοχή »

s = UNIXSocket.open ( " /mytestsocket " )

βάζει s.readline

s.close

πάλι , η πρώτη γραμμή λέει Unix τι να κάνει με τον κωδικό σας και τη δεύτερη γραμμή φορτώνει τη βιβλιοθήκη πρίζα . Στη συνέχεια , μια υποδοχή ανοίγει στο ίδιο " φάκελο " που ο κωδικός του διακομιστή που χρησιμοποιεί. Το μήνυμα διαβάζεται , και η σύνδεση με την πρίζα έκλεισε
Η 4

Ανοίξτε τερματικό και πληκτρολογήστε τα εξής : .

Ρουμπίνι udsServer.rb

Τίποτα δεν θα συμβεί , επειδή ο διακομιστής αυτή τη στιγμή κάθεται , περιμένοντας για το πρόγραμμα -πελάτη σας για να συνδεθείτε . Να είστε βέβαιος να αφήσει αυτό το τερματικό σταθμό ανοικτό .
5

Ανοίξτε ένα άλλο αντίγραφο του τερματικού σας και να τακτοποιήσετε το παράθυρο ώστε να μπορείτε να δείτε και τα δύο τερματικά ταυτόχρονα . Πληκτρολογήστε το ακόλουθο :

ρουμπίνι udsClient.rb

Θα πρέπει να δείτε αμέσως το παράθυρο εξόδου server και το παράθυρο του πελάτη εμφανίζει το φιλικό μήνυμα που αποστέλλεται σε αυτήν από το διακομιστή . Αν κοιτάξετε το αρχείο υποδοχής , τώρα θα φύγει .
Η
εικόνων

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

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