Блокирует ли OutputStream в Java? (Сокеты)

В настоящее время я пишу наивный сетевой код для проекта, и приятель намекнул мне на возможность того, что, когда я итеративно отправляю пакет информации с сервера всем клиентам, я могу получить сильное отставание, когда один из клиентов не отвечает должным образом. .

Он известен своим троллингом, поэтому я скептически отнесся к реализации вторичного потока, который теперь отвечает за отправку данных клиенту, имея очередь, в которую Сервер просто добавляет пакеты, которые затем считываются потоком в отправить данные.

Вопрос, который у меня возник после размышлений, заключается в том, что OutputStream Java Socket фактически ставит в очередь то, что он хочет отправить, сам по себе, тем самым устраняя необходимость в очереди заранее. Возможность серьезных проблем возникает только тогда, когда Сервер блокируется, пока он не получает ответ от клиента о том, что отправленный объект был получен.

Спасибо.

10
задан salbeira 13 May 2012 в 19:34
поделиться