Για να ακούσετε σε μια θύρα μέσω ενός 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 ) ? //περιμένει ένα δευτερόλεπτο πριν την επανάληψη βρόχο }
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα