Abril 23, 2018, 05:45:01 am

Autor Tema: Consola Remota  (Leído 2178 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Kreusser

  • Moderador
  • *****
  • Mensajes: 893
  • Sexo: Masculino
  • Hard programming
    • Ver Perfil
    • :~#
Consola Remota
« en: Octubre 04, 2012, 04:26:52 pm »
ejecuta comandos "basicos" en la pc remota y envia el resultado al cliente
Código: ( java) You are not allowed to view links. Register or Login
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
     
     
    public class Servidor {
            private ServerSocket servidor;
            private Socket cliente;
            private int puerto = 8086;
           BufferedReader buff;
           OutputStream sender;
                    public Servidor() throws IOException, Throwable {
                            Comandos cmd = new Comandos();
                            while (true){
                            this.EsperarCliente();
                            InputStream cm  = cmd.EjecutarProceso(this.RecibirComando());
                            this.EnviarDatos(cm);
                            this.cerrarConexion();
                            }
                    }
                    public String RecibirComando() throws IOException{
                        int i;
                        InputStream s = cliente.getInputStream();
                        i = s.read();
                        byte[] b = new byte[i];
                        s.read(b);
                        String st =new String(b);
                        System.out.println("longitud ="+b.length+" comando "+st);
                        return st;
                    }
                    public void EnviarDatos(InputStream datos) throws IOException{
                                    char[] buffer = new char[2024];
                                    int result;
                                            buff = new  BufferedReader(new InputStreamReader(datos));
                                            sender = cliente.getOutputStream();   
                                                    while( (result = buff.read(buffer,0,buffer.length))>=0){
                                                                    String tmp = new String(buffer);
                                                                    sender.write(tmp.getBytes());
                                                                    buffer = new char[1024];
                                                    }
                                            try {
                                                    System.out.println("Envio de datos satisfactorio");
                                                    datos.close();
                                            } catch (IOException e) {
                                                    System.err.print("Error cerrando Conexion con archivo");
                                            }
                            }
                   
                    public void EsperarCliente(){
                            try {
                                    servidor = new ServerSocket(puerto);
                            } catch (IOException e) {
                                    System.err.print("No se pudo reservar puerto");
                            }
                            try {
                                   System.out.println("Sevidor activo");
                                   cliente = servidor.accept();
                                   System.out.println("Cliente aceptado");
                            } catch (IOException e) {
                                    System.err.print("No se pudo recepcionar cliente");                           
                            }
                           
                    }
                   
                    public void cerrarConexion(){
                            try {
                                    this.sender.close();
                                    this.cliente.close();
                                    this.servidor.close();
                            } catch (IOException e ) {
                                            System.out.println("Error al cerrar la conexion");
                            }
                           
                    }
                    public static void main(String [] args) throws Throwable{
                            new Servidor();
                    }
    }

Código: (java) You are not allowed to view links. Register or Login
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
     
     
    public class  Cliente{
           
            private Socket cliente;
            private int puerto = 8086;
           
                    public Cliente() throws IOException{
                            while(true) {
                                conectar();
                                System.out.println(">>: ");
                                this.mandarComandos();
                                this.RecibirDatos();
                            }
                    }
                   
                    public void conectar() throws IOException{
                            cliente = new Socket("localhost",puerto);
                    }
                    public void mandarComandos() throws IOException{
                           OutputStream cs = cliente.getOutputStream();
                           Scanner coman = new Scanner(System.in);
                           String cmd = coman.nextLine();
                           cs.write(cmd.getBytes().length);
                           cs.write(cmd.getBytes());
                    }
                   
                    public void RecibirDatos() {
                    byte[] buffer = new byte[1024];
                    int result;
                    InputStream is;                                           
                            try {
                                is = cliente.getInputStream();
                                while( (result = is.read(buffer,0,buffer.length))>=0){
                                                for(byte g : buffer){
                                                System.out.print((char)g);
                                                }
                                                buffer = new byte[1024];
                                }
                               
                        try {
                                is.close();
                                cliente.close();
                        } catch (IOException e) {
                                System.err.print("Error cerrando Conexion con archivo");
                        }
               
                        } catch (IOException ex) { 
                            ex.printStackTrace();
                                    }
                           
                    }
                   
                   
                    public static void main(String [] args) throws Exception{
                            new Cliente();
                           
                    }
    }

Código: (java) You are not allowed to view links. Register or Login
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
     
     
    public class Comandos {
            private static Process exec;
           
            public  InputStream EjecutarProceso(String comando) throws Throwable{
                   
                  if(ifexist(getOs().split(" "), "Linux")) {
                      System.out.println("Linux");
                   exec = Runtime.getRuntime().exec(comando);               
                  } else if (ifexist(getOs().split(" "), "Windows")) {
                    exec = Runtime.getRuntime().exec("cmd.exe /C " +comando);
                  }
                    System.out.println(getOs());
                    return exec.getInputStream();
            }
           
            public boolean ifexist (String[] os , String os_){
                for(String o : os){
                    if(o.equals(os_)) {
                        return true;
                    } else {
                        return false;
                    }
                }
                return false;
            }   
           
            public String getOs(){
                return System.getProperty("os.name");
            }
            public void ejecutarComando(InputStream EjecutarProceso) throws IOException{
                    char[] buffer = new char[1024];
                    int result;
                            BufferedReader buff = new  BufferedReader(new InputStreamReader(EjecutarProceso));
                            while( (result = buff.read(buffer,0,buffer.length))>=0){
                                    for(char c : buffer){
                                            System.out.print(c);
                                    }
                            }
                    EjecutarProceso.close();
            }
             
    }


xx
Consola en c++

Iniciado por Barrte

9 Respuestas
2330 Vistas
Último mensaje Febrero 14, 2012, 02:13:24 pm
por Barrte
resuelto
consola de python

Iniciado por ghost_shell

3 Respuestas
1301 Vistas
Último mensaje Octubre 10, 2010, 12:27:20 pm
por ghost_shell
exclamation
Consola de Comandos V 2.3 :P

Iniciado por JaAViEr

11 Respuestas
1999 Vistas
Último mensaje Marzo 02, 2010, 11:57:52 am
por JaAViEr
xx
Parar la consola

Iniciado por DisTroX

5 Respuestas
1751 Vistas
Último mensaje Junio 22, 2008, 04:44:11 am
por Mace Windu
exclamation
[Vb.net] Consola de comandos

Iniciado por Niko^

4 Respuestas
3664 Vistas
Último mensaje Junio 09, 2011, 12:40:01 pm
por JohnR15
exclamation
Kick Msn en consola.

Iniciado por mDrinky

25 Respuestas
7057 Vistas
Último mensaje Marzo 09, 2010, 04:00:14 pm
por alexmanycool
exclamation
Consola de Comandos V 2.0 :P

Iniciado por JaAViEr

12 Respuestas
1949 Vistas
Último mensaje Marzo 04, 2010, 01:44:22 pm
por JaAViEr
exclamation
Ping en consola c++

Iniciado por daryo

0 Respuestas
1126 Vistas
Último mensaje Julio 22, 2012, 08:59:44 am
por daryo
xx
Consola de comandos en .Net

Iniciado por pistasito

0 Respuestas
1456 Vistas
Último mensaje ſeptiembre 23, 2009, 02:49:13 am
por pistasito
exclamation
Consola de comandos V3

Iniciado por JaAViEr

2 Respuestas
857 Vistas
Último mensaje Abril 28, 2010, 02:40:58 pm
por JaAViEr