elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Indicar puerto local Cliente Sockets TCP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Indicar puerto local Cliente Sockets TCP  (Leído 4,042 veces)
BlaineMonkey

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Indicar puerto local Cliente Sockets TCP
« en: 4 Mayo 2010, 14:40 pm »

tengo un cliente de Sockets TCP. Me gustaría saber si hay alguna forma de indicarle el puerto por el que debe escuchar. Pregunto esto porque cuando se corta la conexión con el servidor TCP mi cliente cierra el socket y lo vuelve a abrir, pero al hacer esto, el nuevo socket tiene otro puerto local, y el servidor sigue enviando las respuestas al puerto del socket anterior.

No tengo posibilidad de tocar los fuentes en la parte servidora, por lo que quiero saber si hay alguna forma de indicar al crear el socket del cliente su puerto local.


En línea

Axtrall

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: Indicar puerto local Cliente Sockets TCP
« Respuesta #1 en: 4 Mayo 2010, 15:09 pm »

Realmente seria el cliente el que se deberia volver a conectar al servidor con el nuevo puerto (da igual cual), pues es el server el que mantiene un puerto asignado y no lo cambia.

Saludos!


En línea

La felicidad es siempre un objetivo, no un estado.
BlaineMonkey

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: Indicar puerto local Cliente Sockets TCP
« Respuesta #2 en: 4 Mayo 2010, 16:12 pm »

Si conectar ya conecto con el nuevo puerto, pero no me llega nada del servidor. He puesto un analizador de redes y veo que aunque estoy conectado con otro puerto el servidor manda los mensajes al puerto anterior.

¿Qué otra cosa puedo hacer?
En línea

BlaineMonkey

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: Indicar puerto local Cliente Sockets TCP
« Respuesta #3 en: 4 Mayo 2010, 17:30 pm »

Creo que no va a ser necesario conectar de nuevo. He visto que el problema está en el cliente.

He puesto un analizador de redes, y he visto que si saco de la red la máquina que tiene el servidor TCP, el cliente pasado un rato deja de mandar por red los mensajes. Saco trazas del estado del Socket y en todo momento pone que está conectado (isConnected() es true) y que no está cerrado isClosed() es false.

El socket lo inicializo de la siguiente forma:

            echoSocket = new Socket(address, port);
            echoSocket.setKeepAlive(true);
            System.out.println("PUERTO:" + echoSocket.getLocalPort());
           
             out = new PrintWriter(echoSocket.getOutputStream());
             in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));

Para mandar mensajes ejecuto los métodos:

out.write(mensaje);
out.flush(); //para que lo escriba

Como he comentado antes, tengo el analizador de redes y veo que pasado un tiempo ya no captura más trazas del cliente hacia el servidor y sin embargo se siguen ejecutando los métodos out.write y out.flush

¿Qué está pasando? ¿Cómo puedo solucionarlo?


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
indicar los dias de cada mes c++
Programación C/C++
fralem15 4 3,880 Último mensaje 3 Mayo 2011, 20:09 pm
por satu
sockets C cliente&server error en cliente.... :huh:
Programación C/C++
kotora 1 3,045 Último mensaje 2 Noviembre 2013, 20:14 pm
por kotora
sockets en windows verificar puerto.
Programación C/C++
Drewermerc 4 2,543 Último mensaje 23 Abril 2014, 07:43 am
por Drewermerc
¿Sockets fuera de la red local? « 1 2 »
Redes
ram03 11 6,576 Último mensaje 3 Julio 2014, 18:25 pm
por engel lex
PHP IP local del cliente
PHP
Kaxperday 5 4,945 Último mensaje 17 Diciembre 2015, 15:59 pm
por kub0x
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines