Ανοίξτε προτιμώμενο επεξεργαστή κειμένου σας , και αμέσως να αποθηκεύσετε το κενό έγγραφο ως " ScreenServer.java . " Αυτό είναι το τμήμα του προγράμματος που πρέπει να εκτελείται στο απομακρυσμένο σύστημα . Θα ακούσετε για μια σύνδεση σε μια αυθαίρετη λιμάνι και να στείλετε τις διαστάσεις της οθόνης και τα στοιχεία πάνω από το λιμάνι . Αυτό το παράδειγμα χρησιμοποιεί το " 5494 ", όπως το λιμάνι , αλλά οποιοσδήποτε αριθμός θύρας θα κάνει , με την προϋπόθεση ότι δεν έρχεται σε αντίθεση με μια άλλη υπηρεσία που τρέχει στον υπολογιστή . Φυσικά , θα πρέπει να έχουν άμεση πρόσβαση στον απομακρυσμένο υπολογιστή σε κάποιο σημείο , προκειμένου να τεθεί αυτό το πρόγραμμα για αυτό και να αρχίσει να τρέχει 2
Επικολλήστε τον ακόλουθο κώδικα στο " ScreenServer " : .
java.net εισαγωγής * ? . .
java.awt εισαγωγής * ?
java.awt.image εισαγωγής * ? .
java.io εισαγωγής . * ?
εισαγωγής javax.imageio.ImageIO ?
δημόσια τάξη ScreenServer {
δημόσια στατική άκυρη κύρια ( String [ ] args ) ρίχνει Εξαίρεση {
ρομπότ ρομπότ = νέα ρομπότ ( ) ?
οθόνη BufferedImage ?
ενώ η (πραγματική ) {
ServerSocket διακομιστή = νέα ServerSocket ( 5494 ) ?
Socket πελάτης = server.accept ( ) ?
ορθογώνιο size = νέο ορθογώνιο ( Toolkit.getDefaultToolkit ( ) getScreenSize ( ) . ) ? οθόνης
= robot.createScreenCapture (μέγεθος ) ?
int [ ] rgbData = new int [ ( int ) ( size.getWidth ( ) * size.getHeight ( ) ) ] ?
screen.getRGB ( 0,0 , ( int ) size.getWidth ( ) , ( int ) size.getHeight ( ) , rgbData , 0 , ( int ) size.getWidth ( ) ) ?
OutputStream baseOut = client.getOutputStream ( ) ?
ObjectOutputStream out = νέα ObjectOutputStream ( baseOut ) ?
ImageIO.write ( οθόνη , " png " , new File ( " orig_screen.png "))?
out.writeObject (μέγεθος ) ?
για (int χ = 0 ? χ Ανοίξτε ένα νέο έγγραφο στον επεξεργαστή κειμένου σας και ονομάστε το " ScreenClient.java . " Αυτό είναι το πρόγραμμα που θα τρέξει σε τοπικό επίπεδο . Είναι απλά συνδέεται με το απομακρυσμένο υπολογιστή στη διεύθυνση που αναφέρεται και αποθηκεύει τα δεδομένα των pixel που λαμβάνει στο σκληρό δίσκο σε μορφή PNG Επικολλήστε τον παρακάτω κώδικα , και να αποθηκεύσετε την εργασία σας : . java.net εισαγωγής * ? . java.awt εισαγωγής * ? . java.awt.image εισαγωγής * ? . java.io. εισαγωγής * ? εισαγωγή javax.imageio.ImageIO ? δημόσια τάξη ScreenClient { δημόσια στατική άκυρη κύρια ( String [ ] args ) ρίχνει Εξαίρεση { Socket διακομιστή = νέο Socket ( args [ 0 ] , 5494 ) ? ObjectInputStream σε = νέα ObjectInputStream ( server.getInputStream ( ) ) ? ορθογώνιο size = ( ορθογώνιο ) in.readObject ( ) ? int [ ] rgbData = new int [ ( int ) ( size.getWidth ( ) * size.getHeight ( ) ) ] ? για ( int x = 0 ? x rgbData [ x ] = in.readInt ( ) ? } in.close ( ) ? server.close ( ) ? BufferedImage οθόνη = νέα BufferedImage ( ( int ) size.getWidth ( ) , ( int ) size.getHeight ( ) , BufferedImage.TYPE_INT_ARGB ) ? screen.setRGB ( 0,0 , ( int ) size.getWidth ( ) , ( int ) size.getHeight ( ) , rgbData , 0 , ( int ) size.getWidth ( ) ) ? ImageIO.write ( οθόνη , " png " , νέα File ( " screen.png "))? } }
Η 4
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα