2013-04-11 5 views
-2

У меня есть клиент-серверное приложение. API java.net используются как на стороне клиента, так и на стороне сервера. Скорее, java.net.ObjectOutputStream и java.net.ObjectInputStream в тандеме, если быть конкретным.Максимальный размер буфера ObjectOutputStream

Я пытался выяснить, как ObjectOutputStream.write, ведет себя, когда базовый буфер TCP-уровня заполнен. Я хотел написать как можно больше данных. Но в настоящее время я боюсь, что я не могу догнать слишком много данных. Поэтому, чтобы подтвердить это, прежде чем писать частые и огромные данные, было бы полезно, если бы в документации можно было что-нибудь упомянуть об этом.

Сколько стоит писать. До этого момента я могу продолжать писать. Как мне узнать, когда стало слишком много?

Любое знаешь, как или хороший указатель?

Я предполагаю, что максимальная пропускная способность будет зависеть от базовой физической эффективности сети. С уважением, Mawia

ответ

0

Как и все другие потоки и писатели, блоки ObjectOutputStream в то время как основной буфер отправки сокета заполнен. Нет такой вещи, как «слишком много», «перекачивание слишком большого количества данных» и т. Д., Не говоря уже не «перекачивание слишком большого количества данных», о чем вы заявляете, что беспокоитесь.

Не настоящий вопрос.

+0

Я получил свой ответ. Это то, что я хотел знать, это ObjectOutputStream блокирующий вызов или нет. И он блокирует. Спасибо! – mawia

+0

Btw для вашего комментария о слишком большом количестве данных, я думаю, что это очень актуальный вопрос, если TCP-запись не является синхронной, и запись также не блокируется. Учитывая, что, как вы сказали: «Как и все другие потоки и писатели, блоки ObjectOutputStream» ясно объясняют это сомнение. – mawia

+0

@mawia Я не понимаю, что «сомневается» в том, что нужно «очистить». Все выходные потоки блокируются. Все записи в «OutputStreams» блокируются. – EJP

Смежные вопросы