@hirthwork

Тег nio в блоге hirthwork

hirthwork

Есть такой класс в Java NIO: java.net.SocketChannel
Для удобства олдфагов у него есть метод Socket socket();
Соответственно олдфаги могут делать channel.socket().getInputStream() и channel.socket().getOutputStream() и пердолиться в массивчики вместо того, чтобы читать документацию по непонятному ByteBuffer.
Недоверчивые олдфаги естественно сначала написали тест где сделали channel.socket().getInputStream().read() и убедились, что он кидает эксепшен по таймауту.
Ваш покорный слуга и слишком доверчивый олдфаг сегодня в продакшене узнал, что channel.socket().getOutputStream().write(buf) таймаута по эксепшену не кидает.
Не используйте Джаву. Оставьте это мне. Через страдания я приду к искуплению.

hirthwork

http://www.evanjones.ca/sof...ava-bytebuffers.html
Для Ъ: запись в сокет через SocketOutputStream происходит медленнее, чем запись через SocketChannel. И чем больше размер записываемого буфера, тем сильнее разрыв.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.