У меня есть клиент-серверное приложение. API java.net используются как на стороне клиента, так и на стороне сервера. Скорее, java.net.ObjectOutputStream
и java.net.ObjectInputStream
в тандеме, если быть конкретным.Максимальный размер буфера ObjectOutputStream
Я пытался выяснить, как ObjectOutputStream.write
, ведет себя, когда базовый буфер TCP-уровня заполнен. Я хотел написать как можно больше данных. Но в настоящее время я боюсь, что я не могу догнать слишком много данных. Поэтому, чтобы подтвердить это, прежде чем писать частые и огромные данные, было бы полезно, если бы в документации можно было что-нибудь упомянуть об этом.
Сколько стоит писать. До этого момента я могу продолжать писать. Как мне узнать, когда стало слишком много?
Любое знаешь, как или хороший указатель?
Я предполагаю, что максимальная пропускная способность будет зависеть от базовой физической эффективности сети. С уважением, Mawia
Я получил свой ответ. Это то, что я хотел знать, это ObjectOutputStream блокирующий вызов или нет. И он блокирует. Спасибо! – mawia
Btw для вашего комментария о слишком большом количестве данных, я думаю, что это очень актуальный вопрос, если TCP-запись не является синхронной, и запись также не блокируется. Учитывая, что, как вы сказали: «Как и все другие потоки и писатели, блоки ObjectOutputStream» ясно объясняют это сомнение. – mawia
@mawia Я не понимаю, что «сомневается» в том, что нужно «очистить». Все выходные потоки блокируются. Все записи в «OutputStreams» блокируются. – EJP