Autor
|
Tema: Dudas programacion sockets Java (Leído 4,665 veces)
|
thurgrim
Desconectado
Mensajes: 9
|
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
Mensajes: 789
[Beyond This Life]
|
No le veo problema, se genera una excepcion que mas quieres saber?
|
|
|
En línea
|
|
|
|
thurgrim
Desconectado
Mensajes: 9
|
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
Mensajes: 789
[Beyond This Life]
|
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
|
|
|
|
thurgrim
Desconectado
Mensajes: 9
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con sockets en java
Java
|
vincentlaw
|
1
|
4,344
|
23 Octubre 2012, 15:50 pm
por cruz_lazcano
|
|
|
Sockets en Java
Java
|
mapers
|
3
|
4,164
|
11 Julio 2011, 10:22 am
por Debci
|
|
|
Programacion de sockets...
Programación C/C++
|
kotora
|
3
|
2,776
|
30 Octubre 2013, 07:00 am
por eferion
|
|
|
[AYUDA] Programacion de Sockets en C
Programación C/C++
|
sebaok
|
3
|
2,485
|
22 Febrero 2016, 07:54 am
por Eternal Idol
|
|
|
Programacion de sockets en C++
Programación C/C++
|
TheLonelyPain
|
2
|
6,883
|
23 Noviembre 2022, 23:05 pm
por TheLonelyPain
|
|