Ρύθμιση βασικούς ορισμούς πελάτη συνομιλίας και λειτουργία:
java εισαγωγής . net * ? . java.io. εισαγωγής * ? java.awt εισαγωγής * ? .
δημόσια τάξη ChatClient επεκτείνει Frame υλοποιεί εκτελέσιμη {δημόσια ChatClient ( String τίτλο , InputStream i , o OutputStream ) { } public void run ( ) { } δημόσια στατική άκυρη SendMessage ( String msg ) { } } 2
Ρύθμιση βασικό πελάτη και το νήμα ακροατή ως κατασκευαστή της κλάσης . Αυτό κατασκευαστής λαμβάνει μια είσοδο ( μεταβλητή " i" ) και ρεύμα εξόδου ( μεταβλητή "o" ) , τους μετατρέπει σε ρυθμιστικό ροές δεδομένων και ξεκινά ένα νήμα ακρόασης να περιμένει για μηνύματα :
//κλάση ChatClient variablesprotected DataInputStream i ? προστατεύεται o DataOutputStream ? προστατεύεται ακροατή Thread ?
δημόσια ChatClient ( InputStream i , o OutputStream ) { this.I = νέα DataInputStream ( νέα BufferedInputStream ( i ) ) this.o = νέα DataOutputStream ( νέα BufferedOutputStream ( o)) ? ακροατή = νέα Thread ( αυτό) ? listener.start ( ) ? }
εικόνων 3
να ορίσετε τη μέθοδο "τρέχει" , το οποίο εκτελείται όταν ξεκινάει το νήμα ακροατή . Η μέθοδος αυτή ελέγχει τη ροή δεδομένων εισόδου , προσθέτει τυχόν εισερχόμενα δεδομένα στο "έλαβε " string και τερματίζει όταν η σύνδεση κλείνει .
Public void run () {
String έλαβε = new String ( ) ?
try { ενώ η (πραγματική ) { String εισερχόμενη = i.readUTF ( ) ? έλαβε + = (γραμμή + "\\ n" ) ? } } αλιευμάτων ( IOException e ) { e.printStackTrace ( ) ? } }
Η
4 Ορίστε μια « SendMessage ", η οποία θα στείλει δεδομένα μέσω της σύνδεσης της παραγωγής με τη μορφή μιας συμβολοσειράς :
public void SendMessage ( String msg ) { o.writeUTF ( msg ) ? o.flush ( ) ? } αλιευμάτων ( IOException πρώην ) { ex.printStackTrace ( ) ? listener.stop ( ) ? } }
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα