¿Cómo puedo leer desde un BufferedReader en Java sin bloquear?

Quiero enviar un comando a un servidor y averiguar si recibo una respuesta.

Ahora mismo estoy usandoBufferedReaderesreadline() Función, que bloquea hasta que haya una respuesta del servidor, pero todo lo que quiero hacer es verificar que haya una respuesta del servidor en primer lugar.

Traté de usarready() oreset() Para evitar este bloqueo, pero no ayuda.

Esto hace que mi programa se atasque en espera de que el servidor responda, lo que nunca sucede.InputStreamReader Parece hacer lo mismo, por mi comprensión de las cosas.

Otras preguntas que encontré aquí sobre el tema no respondieron mi pregunta, así que por favor, si puede responder mi pregunta, será genial.

Respuestas a la pregunta(3)

Su respuesta a la pregunta