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

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

Παρακολούθηση Socket Με Java

Τα υποδοχή Java αντικείμενα χρησιμοποιούνται για να αντιπροσωπεύσουν τις συνδέσεις ανάμεσα σε δύο μηχανές . Ωστόσο , ένα πρόγραμμα με τη χρήση υποδοχών μπορεί να γίνει τέλμα εάν το πρόγραμμα περιμένει για μια σύνδεση για τη δημιουργία . Σε αυτή την περίπτωση , μπορείτε να χωρίσετε από ένα ξεχωριστό νήμα εκτέλεσης που περιμένει για μια σύνδεση , ενώ το κύριο πρόγραμμα τρέχει ακόμα . Με την επέκταση αυτή , μπορείτε να χρησιμοποιήσετε το ξεχωριστό νήμα για να παρακολουθεί τις υποδοχές για τις συνδέσεις και να χειρίζονται τους , μόνο κοινοποιούν το πρόγραμμα, όταν η σύνδεση γίνεται ή άλλη σημαντική ακόμη συμβεί . Κύρια ServerSocket Παράδειγμα
Η

Για να ακούσετε σε μια θύρα μέσω ενός socket , να δημιουργήσει ένα « SocketServer " αντικείμενο . Socket Servers ακούν για συνδέσεις σε μια συγκεκριμένη θύρα . Κατά την παραλαβή των πληροφοριών σύνδεσης στη θύρα , ο Socket Server επιστρέφει ένα " Socket " αντικείμενο . Όλα τα δεδομένα που λαμβάνονται μέσω της σύνδεσης μπορεί να υποστεί επεξεργασία μέσω αυτού του αντικειμένου πρίζα.
Εικόνων Κλωστές
Η

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

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

ιδιωτική στατική τάξη SocketListen υλοποιεί εκτελέσιμη { public void τρέχει ( ) { try { listenSocket = νέα ServerSocket ( 9999 ) ? //ακρόαση στη θύρα 9999 } αλιευμάτων ( IOException e ) { System.exit ( -1 ) ? //error }

Socket clientSocket = null? try { έλαβε = serverSocket.accept ( ) ? //αντικείμενο σύνδεσης, εάν η επιτυχία } αλιευμάτων ( IOException e ) { System.exit ( -1 ) ? //error } } }
εικόνων Διάσπαση του Θέματος

Εάν έχετε ορίσει μια εκτελέσιμη τάξη να χρησιμοποιεί ως μέσο ακρόασης /παρακολούθησης , το μόνο που μένει είναι να το χρησιμοποιήσετε ως μια κλωστή. Το κύριο πρόγραμμα μπορεί να καλέσει ένα ξεχωριστό νήμα , ως μέρος της εκτέλεσής του , που θα τρέξει τον κωδικό υποδοχή ακρόασης . Μόλις ο κώδικας τελειώνει , είτε λόγω της επιτυχίας σύνδεσης ή λάθος , το νήμα παρακολούθησης επανασυνδέει το κύριο νήμα . Το κύριο νήμα τρέχει ένα βρόχο αναμονής μέχρι να τελειώσει η παρακολούθηση νήμα :

Θέματος t = new Thread ( νέα SocketListen ( ) ) ? T.start ( ) ?

Ενώ ( t.isAlive ( ) ) { threadMessage ( "Still waiting ... " ) ? t.join ( 1000 ) ? //περιμένει ένα δευτερόλεπτο πριν την επανάληψη βρόχο }
Η
εικόνων

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

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