Foros del Web » Programación para mayores de 30 ;) » Java »

Error en la ejecucion

Estas en el tema de Error en la ejecucion en el foro de Java en Foros del Web. Hola como estan? yo?...un poco complicado Estoy constryendo un chat en java Les cuento son 4 archivos: Servidor.java TareaServidor.java Cliente.java TareaCliente.java al compilar(jcreator) lo hacen ...
  #1 (permalink)  
Antiguo 02/06/2007, 15:55
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
Error en la ejecucion

Hola como estan?
yo?...un poco complicado

Estoy constryendo un chat en java

Les cuento son 4 archivos:
Servidor.java
TareaServidor.java
Cliente.java
TareaCliente.java

al compilar(jcreator) lo hacen todos bien, salvo el Servidor.java que me genera una especie de Warning:
Note: C:\Documents and Settings\Administrador\Escritorio\prueba\chat\Serv idor.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Process completed.

al ejecutar por el puerto 9000:
$java Servidor -p 9000
me sale lo Sgte:

java.lang.NumberFormatException: For input string: "-p"
at java.lang.NumberFormatException.forInputString(Unk nown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Servidor.main(Servidor.java:22)

:S

Ojala me puedan ayudar, que toi mas urgio
Por lo que me dicen no debiera ser un error tan grave, pero no me funka :(

CHao que esten bien, y te agradeceria si me puedes resolver el cachito :D

Aqui les va el codigo de Servidor.java

//Servidor.java

import java.io.*;
import java.net.*;
import java.util.*;

public class Servidor{
//Atributos
private ArrayList clientes=null;
private boolean sw=true;

private static int puerto=0;

public static void main(String[] args){
//Chequear argumentos de entrada
if(args.length < 2)
mostrarAyuda();

for(int i=0;i<2;i++){

if(args[i].equals("-p"))
puerto = Integer.parseInt(args[i++]); //esta es la linea que me genera problemas :(
else
mostrarAyuda();
}

//Crear y arrancar el servidor.
new Servidor().arrancar();
}

public static void mostrarAyuda(){

System.out.println("leer manual:java Servidor -p %Puerto%");
System.out.println("-p: Puerto del Servidor");
System.out.println("Ejemplo:... -p 1234");
System.exit(-1);
}

//Constructor.
public Servidor(){
clientes = new ArrayList();
}

//Metodos
private void arrancar(){
ServerSocket servidor = null;

while(sw){
try{
if(servidor==null)
servidor = new ServerSocket(puerto);
Socket cliente = servidor.accept();
TareaServidor tarea = new TareaServidor(cliente,clientes);
clientes.add(tarea);
tarea.start();
}
catch(BindException ex){
sw=false;
System.out.println(Calendar.getInstance().getTime( ) +"-El Puerto esta en uso");
ex.printStackTrace();
}
catch(IOException ex){
sw=false;
ex.printStackTrace();
}
}
}
}
  #2 (permalink)  
Antiguo 03/06/2007, 04:05
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Error en la ejecucion

por el error parece que no puedes convertir el argumento en int, asegurate de que es el 9000 y no el -p como parece que es.
  #3 (permalink)  
Antiguo 03/06/2007, 17:30
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Error en la ejecucion

Cita:
Iniciado por cris_maco Ver Mensaje
por el error parece que no puedes convertir el argumento en int, asegurate de que es el 9000 y no el -p como parece que es.
9000 es solo un ejemplo de %puerto%

el echo es que para jecutarlo debe ser
$java Servidor -p %puerto%

...
  #4 (permalink)  
Antiguo 03/06/2007, 23:06
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Re: Error en la ejecucion

Lo que te está diciendo es que estas intentando convertir "-p" en numero, en vez de intentar convertir "9000".
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.