/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

sockets: mensajes que se pierden

 
      Índice del Foro elrincondelc.com -> Programación en Servidores
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
abc



Registrado: 23 Abr 2007
Mensajes: 1

MensajePublicado: 23/04/2007 2:54 am
Título: sockets: mensajes que se pierden

Hola!

Tengo una aplicación de chat con un servidor escrito en C y un cliente Java que se comunican mediante sockets. En general, todo funciona bastante bien, salvo en el siguiente caso: Cuando uno de los clientes envía muchos mensajes cortos muy rápidamente a los demás clientes no les llegan todos los mensajes.

He realizado trazas y el servidor indica que está enviando los mensajes sin problemas, pero en el cliente no hay ni rastro de ellos.

¿A qué puede deberse?
¿Puede ocurrir que si el servidor escribe varias veces en un socket sin que el cliente tenga tiempo a ir leyendo los mensajes, éstos se machaquen unos a otros?

Muchas gracias de antemano.
Volver arriba
Diabliyo



Registrado: 14 Abr 2004
Mensajes: 317
Ubicación: En la Luna

MensajePublicado: 18/05/2007 12:48 pm
Título:

Hola:

Entonces no estan llegando :S !!...

Basicamente si utilizas en envio de informacion a los sockets de forma DIRECTA, el mensaje llega y es mostrado...

Si utilizas un modo de envio paralelo (hilos), debes poner un medidor MUTEX para que entre hilos se esperen y escriban un por uno, ya que si se llega escribir al mismo tiempo, esto puede resultar un error de datos !!

Nose como lo manejes... Ya que peudes usarlo asi:

1- El hilo pone los datos en el sockets de cada cliente
2- Otro hilo lee datos de cada cliente
3- en el punto 1 y 2 existe un conflicto, ya que si uno envia mensaje y se desea que tambien reciva, ya estarian 2 hilos posicionados en ese mismo sockets, y aqui entra el conflicto de que no abra coherencia de datos cuando el ULTIMO intente leer/escribir en el socket... utiliza un MUTEX para que un hilo espere a que le toque su turno de leer/escribir !!

Ahi otras formas, pero nose cual uses :S

bye bye
_________________

Volver arriba
      Índice del Foro elrincondelc.com -> Programación en Servidores
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com