view src/treeVnc/AcceptThread.java @ 15:578ea14c95e9

merge treeVnc
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Fri, 13 Jan 2012 13:38:38 +0900
parents
children 3faae4215cb3
line wrap: on
line source

package treeVnc;
import java.net.Socket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class AcceptThread implements Runnable {
        MyRfbProtoClient rfbc = null;
        MyRfbProtoProxy  rfbp = null;
        byte[] imageBytes;
        int port;
        
        AcceptThread(MyRfbProtoClient _rfb) {
                rfbc = _rfb;
        }
        
        AcceptThread(MyRfbProtoProxy _rfb) {
            rfbp = _rfb;
        }
        
        AcceptThread(MyRfbProtoClient _rfb, int p) {
            rfbc = _rfb;
            port = p;
        }

        AcceptThread(MyRfbProtoProxy _rfb, int p) {
            rfbp = _rfb;
            port = p;
        }
      
        public void changeRfb(MyRfbProtoClient _rfb) {
        	rfbc = _rfb;
        }
        
        public void changeRfb(MyRfbProtoProxy _rfb) {
        	rfbp = _rfb;
        }

        public void run() {
        		if(rfbc != null) { 
        			rfbc.selectPort(port);
        		        		
                while (true) {
                        try {
                                Socket newCli = rfbc.accept();

                                OutputStream os = newCli.getOutputStream();
                                InputStream is = newCli.getInputStream();
                                rfbc.newClient(this, newCli, os, is);
                        } catch (IOException e) {
                                e.printStackTrace();
                                System.out.println(e);
                        }
                }
        } else {
            while (true) {
                try {
                        Socket newCli = rfbp.accept();

                        OutputStream os = newCli.getOutputStream();
                        InputStream is = newCli.getInputStream();
                        rfbp.newClient(this, newCli, os, is);
                } catch (IOException e) {
                        e.printStackTrace();
                        System.out.println(e);
                }
        }
        }
    }	
}