Java da uzak makinenin ekran görüntüsünü alma

Daha önceki ekran görüntüsünü alma yazısına istinaden aşağıdaki kod ta uzaktaki makinedeki bir ekran görüntüsünü alabilirsiniz bunu aynı uygulamayı server socket ile yayınlayarak sağlıyoruz. Ancak öncelikle aşağıdaki kodun ilgili client ta (istemcide) çalıştırılması lazım. Eğer sürekli olarak çalışmasını istiyorsanız registiry e ekleyebilirsiniz.
Ekran görüntüsüne ulaşmak için client a ait ip adresini bilmeniz gerekiyor bunun içinde ip adresini ilgili adrese bildiren bir uygulama yazabilirsiniz.
Uygulamayı çalıştırmak için Internet Explorer yada firefox a http://ipadresi:9999 yazmalısınız (port değiştirilebilir).

    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
     
    import javax.imageio.ImageIO;
    public class DemoScreen extends Thread {
        private ServerSocket server=null;
        public DemoScreen(int port) {        
            try {
       server=new ServerSocket(port);
      } catch (IOException e) {
       e.printStackTrace();
      }
        }
        public void run(){
           
        try{
            while(true){
                try{
                   Socket socket=server.accept();
                   OutputStream out=socket.getOutputStream();
                   
                   BufferedImage screenCapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
                   
                   ImageIO.write(screenCapture, "jpg", out);
                   out.flush();
                   socket.close();
                }
                catch(Exception ex){
                   ex.printStackTrace();
                }
            }
            }
            catch(Exception es){
                es.printStackTrace();
            }
        }
        public static void main(String args[]){
         DemoScreen r=new DemoScreen(9999);
            r.start();
        }
    }
No comments yet.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>