buenas,
Tengo q hacer una aplicacion cliente servidor dnd le pasamos por parametros:
Host,puerto inicial y puerto final y modo de escaneo(por defecto 0)
Y no hay manera q se me conecten pq parece q el programa se quede colgado...
Tengo la clase servidor:
import java.io.*;
import java.net.*;
class Servidor{
public Servidor(int puerto){
String Datos;
DataInputStream recibido;
DataOutputStream enviado;
Socket s=null; //socket servidor//
ServerSocket conexion=null;//para la escucha del puerto//
int p;
p=puerto;
try{
conexion=new ServerSocket(p);
System.out.println ("Esperando por el puerto: "+p);
//s=conexion.accept();
//recibido=new DataInputStream(s.getInputStream());
}
catch(IOException e)
{
System.out.println("No se ha podido conectar");
}
}//servidor//
}
Clase CLIENTE:
import java.io.*;
import java.net.*;
class Cliente {
public Cliente(String host,int puerto){
Socket Cliente=null;
DataInputStream envio_cliente=null;
DataOutputStream recibo_cliente=null;
int p;
p=puerto;
try{
Cliente=new Socket(host,p);
System.out.println("Conectado al servidor: "+host.toString());
envio_cliente=new DataInputStream(Cliente.getInputStream());
recibo_cliente=new DataOutputStream(Cliente.getOutputStream());
}
catch (UnknownHostException e){
System.out.println("No se ha podido conectar con el servidor: " +host.toString());
}
catch (IOException e1){
System.out.println("Error en entrada/salida datos");
}
}//cliente
}//class
PROGRAMA ESCANEO
public class Escaneo{
public static void main(String[] arg)
{
int i;
for (i = 0; i < arg.length; i++)
{
}
if (i!= 4){
System.out.println(" El programa debe recibir 4 argumentos");
System.out.println(" 1er Argumento-> Equipo destino, mediante IP xxx.xxx.xxx.xxx o www.xxx.x");
System.out.println(" 2n Argumento->Puerto inicial");
System.out.println(" 3er Argumento-> Puerto final");
System.out.println(" 4to Argumento-> Modo escaneo, debe de ser un 0");
System.out.println (" EJEMPLO: Escaneo www.google.es 2 56 0");
} //if//
int puertoini;
int puertofin;
puertoini=Integer.parseInt(arg[1]);
puertofin=Integer.parseInt(arg[2]);
int e=error_puertos(puertoini, puertofin);
int s=error_puertos2(puertoini, puertofin);
if (e==1) System.out.println("El puerto inicial/final debe estar entre los valores 1 y 65535");
if (s==1) System.out.println("El puerto inicial debe ser menor que el puerto final");
//PONEMOS AL SERVIDOR EN ESCUCHA//
Servidor server=new Servidor(puertoini);
// HACEMOS UNA PET. DE CONEXION//
Cliente client=new Cliente(arg[0],puertoini);
}//main//
public static int error_puertos(int pi, int pf)
{
if (pi < 1 || pi>65535) return 1;
if (pf < 1 || pf>65535) return 1;
else return 0;
}//error_puertos
public static int error_puertos2(int pi, int pf)
{
if (pi > pf) return 1;
else return 0;
}//error_puertos2
}//class//
El problema q tengo es q se me queda colgado cuando entra en el servidor, es decir me sale "Esperando por el puerto X" y ahí se queda, como si no llegase a la parte del cliente...
Alguna idea?¿
GRACIAS