Actualmente estoy escribiendo un código de red ingenuo para un proyecto y un compañero me insinuó la posibilidad de que cuando envío un paquete de información desde el servidor a todos los clientes de forma iterativa podría sufrir un retraso intenso cuando uno de los los clientes no responden adecuadamente¿Hay un OutputStream en el bloqueo de Java? (Sockets)
Lo reconocen por trolling, así que era un tanto escéptico al implementar un hilo secundario que ahora es responsable de enviar datos a un cliente, con una cola que el Servidor simplemente agrega los paquetes que luego lee el hilo para enviar datos
La pregunta que ahora tengo después de pensarlo es si el OutputStream de Java Socket en realidad pone en cola las cosas que quiere enviar por sí mismo, eliminando así la necesidad de una cola de antemano. La posibilidad de tener problemas intensos solo se produce cuando el Servidor está bloqueando, siempre y cuando no reciba una respuesta de un cliente de que se recibió el objeto enviado.
Gracias.
Me he encontrado con un problema similar si trato de obtener la salida o la secuencia de entrada en la función de ejecución de un subproceso.El problema con el bloqueo (para getInputStream y getOutputStream) del socket es porque está en la función de ejecución ... la solución parece ser ponerlo en el constructor, guardar la variable y luego hacer referencia a la variable en ejecución. – Zimm3r