Problemas con puertos

Maproce
07 de Enero del 2009
pues mi problema esque voy a crear un chat en java pero mi duda a saltado cuando en este codigo :

import java.net.*;
import java.io.*;
/**
*
* @author Manueln
*/
public class RegistroConexiones {

public static void main(String args[]){
ServerSocket servidor;
Socket cliente;
PrintWriter salida;
try {
servidor = new ServerSocket( 4000, 100 );
cliente = servidor.accept();
salida = new PrintWriter(cliente.getOutputStream());
System.out.println("Coneccion del cliente con direccion "+ cliente.getInetAddress().getHostAddress()+"por el puerto "+cliente.getPort() );
salida.println("Tu direccion ip es " + cliente.getInetAddress().getHostAddress()+ " y el puerto es "+cliente.getPort());
salida.close();
cliente.close();
}
catch (Exception e){

}

}
}

yo introduciendo localhost:4000 o mi direccion ip de red y el puerto me devuelve le mensaje pero otras personas si ponen mi direccion ip de internet y el puerto no pueden, que tendria q cambiar para que se pudiera? o que hago mal ?

gracias.