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

Sockets con Java...

Estas en el tema de Sockets con Java... en el foro de Java en Foros del Web. Hola a toda la gente, estoy implementando un servidor con Java, para lo cual tengo el siguiente codigo: Código PHP: public class  ServidorHora  {     public static final  int puerto  ...
  #1 (permalink)  
Antiguo 11/09/2008, 08:03
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Sockets con Java...

Hola a toda la gente, estoy implementando un servidor con Java, para lo cual tengo el siguiente codigo:
Código PHP:
public class ServidorHora {

    public static final 
int puerto 1234;
    
    public static 
void main(String[] argsthrows IOException {
        
        
ServerSocket servidor = new ServerSocketpuerto );
        
        while( 
true ) {
            
            
Socket clienteservidor.accept();
            
PrintWriter escritor = new PrintWritercliente.getOutputStream() );
            
escritor.println"Hola cliente" );
            
escritor.close();
            
cliente.close();
            
        }
        
    }
    

Funciona, es decir carga el servidor, y todo lo demas, el detalle es que me intento conectar desde un cliente hecho en vb 6, y se conecta, pero nunca recibe los mensajes del servidor, es decir:
Código PHP:
    PrintWriter escritor = new PrintWritercliente.getOutputStream() );
    
escritor.println"Hola cliente" ); 
Lo que pretendo hacer en estas lineas es a cada cliente que se conecta Saludarlo, pero este saludo el client en nunca lo ve. La pregunta es POR QUEE????.
Otra cosa mas, entiendo que el TCP y distinto al UDP, pero en java para el caso del TCP, existen muchos metodos o formas para realizar la lectura de datos desde un cliente asi como el envio de datos, he probado probado algunos, pero la pregunta es cual de todos deberia utilizar???.
Tener en cuenta que este servidor estara escuchando en un puerto 1234, que esta abierto en mi router, y justamente los datos que se envian por ese puerto nunca los recibo, a que se debe??. Gracias por su ayuda.
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #2 (permalink)  
Antiguo 11/09/2008, 11:12
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Sockets con Java...

Hola:

Pueden pasar muchas cosas. Supongo que la conexión, como dices, se establece. La mejor forma de comprobarlo es con la consola y el comando netstat -a, debes ver que el puerto esta ESTABLISHED.

Entre java y Windows (vb 6) hay problemas con la forma de ordenar los bytes en los enteros. Si no envías enteros y ya has establecido la conexión, no debería haber problemas.

Entre java y Windows es posible que también tengas problemas con los fin de línea. En java quizás es \n y en windows es \r\n. Si en VB6 esperas en el socket al fin de línea (un readLine o similar), quizás nunca te llegue precisamente porque falta en \r. Para probar, en VB vete leyendo bytes o char de uno en uno y sacándolos por pantalla, a ver si lee algo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
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 14:05.