saleem - 2013-01-25

public class Serv {

public static void main(String[] zero) {
    InetAddress LocaleAdresse ;
    ServerSocket socketserver  ;
    Socket socketduserveur;
    BufferedReader in;
    PrintWriter out;
    String message_distant;

    try {
        LocaleAdresse = InetAddress.getLocalHost();
        System.out.println("LocalHost IP: "+LocaleAdresse);

    do{

        socketserver = new ServerSocket(44444);
        System.out.println("Server listens the port: "+socketserver.getLocalPort());
        socketduserveur = socketserver.accept();

        System.out.println("BlackBerry connected...");
        /*
        out = new PrintWriter(socketduserveur.getOutputStream());
        out.println("Welcome from AZR-PC");
        out.flush();
        */

                in = new BufferedReader (new InputStreamReader (socketduserveur.getInputStream()));
                message_distant = in.readLine();

        System.out.println("Message from Client: "+message_distant);

        /*
        message_distant = in.readLine();
        System.out.println("Message from Client: "+message_distant);
        */

        if(!message_distant.equals("stop")){
            System.out.println("Commande recue.");
            try {
                Runtime rt = Runtime.getRuntime();
                Process pr = rt.exec("cmd /c "+message_distant);

                BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

                String line=null;

                while((line=input.readLine()) != null) {
                    System.out.println(line);
                }

                int exitVal = pr.waitFor();
                System.out.println("Exited with error code "+exitVal);

            }

            catch(Exception e) {
                System.out.println(e.toString());
                e.printStackTrace();
            }

        }

        else
            System.out.println("Commande d'arret recue.");

            socketduserveur.close();
            socketserver.close();

    }while(!message_distant.equals("stop"));

    }catch (IOException e) {

        e.printStackTrace();
    }
}