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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Dudas programacion sockets Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas programacion sockets Java  (Leído 4,508 veces)
thurgrim

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Dudas programacion sockets Java
« en: 16 Mayo 2009, 19:04 pm »

Hola a todos.
Actualmenete tengo que hacer varios programas cliente-servidor en java usando un servicio orientado a conexión (TCP).
Ya entiendo como funcionan las clases sokect y serverSocket, pero me quedan aún algunas dudas relativas a lo que puede ocurrir cuando hay algún problema en la conexión o cuando el cliente-servidor no se entendieron y alguno cierra la conexión:

*Si uno de los dos extremos de la conexión cierra esta misma, usando el método close(), cuando llamas a read() que yo sepa se leen los últimos bytes que se hayan enviado, y cuando se acaben se lee un -1 (en sucesivos intentos también se lee -1). En cambio si se intenta escribir debería saltar una excepción (SocketException).

*Si la conexión se ha roto por algún motivo (desconectamos el cable de red), creo que tanto tratando de leer como de escribir por el socket, debería de generarse una excepción (SocketException).

Mi problema es que parece que no siempre pasa así, no se si es que lo entiendo mal o es por algún otro motivo.


En línea

Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Dudas programacion sockets Java
« Respuesta #1 en: 16 Mayo 2009, 20:59 pm »

No le veo problema, se genera una excepcion  ;) que mas quieres saber?


En línea





Mi blog:
http://amerikanocls.blogspot.com
thurgrim

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Dudas programacion sockets Java
« Respuesta #2 en: 16 Mayo 2009, 21:31 pm »

Pues el problema es que no siempre pasa así.
Actualmente estoy haciendo el servidor de un chat, en el que se puden conectar clientes y enviar mensajes a todo el mundo a través del servidor.
Pues bien, lo que ocurre es que si ejecuto el programa cliente y desconecto su cable de red, cuando algún otro cliente escribe un mensaje, el servidor lo envia al cliente desconectado (al igual que a los demás) y no salta excepción.
En línea

Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Dudas programacion sockets Java
« Respuesta #3 en: 16 Mayo 2009, 23:36 pm »

Puede ser por la siguiente razon y es que el canal por el que envia los datos el servidor es distinto al canal por donde escucha el cliente, es por esto que el buffer puede quedar con los datos enviados asi no sean recibidos del todo (es simple idea  ;)), por esta razon no te votaria excepcion.

salu2
En línea





Mi blog:
http://amerikanocls.blogspot.com
thurgrim

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Dudas programacion sockets Java
« Respuesta #4 en: 17 Mayo 2009, 00:27 am »

No entiendo que quieres decir con eso del canal. Si te refieres al puerto, debería dar igual que en el que escucha el servidor y por el que recibe el cliente no sean el mismo, no?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con sockets en java
Java
vincentlaw 1 4,239 Último mensaje 23 Octubre 2012, 15:50 pm
por cruz_lazcano
Sockets en Java
Java
mapers 3 4,006 Último mensaje 11 Julio 2011, 10:22 am
por Debci
Programacion de sockets...
Programación C/C++
kotora 3 2,557 Último mensaje 30 Octubre 2013, 07:00 am
por eferion
[AYUDA] Programacion de Sockets en C
Programación C/C++
sebaok 3 2,269 Último mensaje 22 Febrero 2016, 07:54 am
por Eternal Idol
Programacion de sockets en C++
Programación C/C++
TheLonelyPain 2 6,232 Último mensaje 23 Noviembre 2022, 23:05 pm
por TheLonelyPain
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines