Вопросы по теме 'nio'

Как избежать OutOfMemoryError при использовании Bytebuffers и NIO?
Я использую ByteBuffers и FileChannels для записи двоичных данных в файл. Делая это для больших файлов или последовательно для нескольких файлов, я получаю исключение OutOfMemoryError . Я где-то читал, что использование Bytebuffers с NIO не...
8260 просмотров
schedule 08.03.2023

Неблокирующий ввод-вывод UDP против блокирующего ввода-вывода UDP в Java
Неблокирующие TCP/IP SocketChannel и Selector в NIO помогают мне обрабатывать множество соединений TCP/IP с небольшим количеством потоков. А как насчет UDP DatagramChannels ? (Должен признаться, что я не очень хорошо знаком с UDP.) Операции...
20550 просмотров
schedule 27.01.2023

Какие-нибудь фреймворки NIO для .NET?
Существуют ли какие-либо неблокирующие фреймворки ввода-вывода для .NET? Я ищу что-то похожее на то, что Apache Mina и JBoss Netty предоставляет для Java: платформу для реализации высокомасштабируемых серверов, а не только низкоуровневую...
20065 просмотров
schedule 20.02.2023

Получает массив байтов из ByteBuffer в java
Это рекомендуемый способ получить байты из ByteBuffer? ByteBuffer bb =.. byte[] b = new byte[bb.remaining()] bb.get(b, 0, b.length);
140426 просмотров
schedule 12.06.2022

Асинхронный канал закрывается в Java NIO
Предположим, у меня есть простой java-сервер на основе nio. Например (упрощенный код): while (!self.isInterrupted()) { if (selector.select() <= 0) { continue; } Iterator<SelectionKey> iterator =...
9840 просмотров
schedule 05.06.2023

Как SocketChannel узнает, что чтение файла завершено?
Я использую канал сокетов и концепцию NIO для чтения данных от клиента. Как канал сокетов узнает, когда чтение файла завершено? ByteBuffer byteBuffer = ByteBuffer.allocate(BUFSIZE); int nbytes = socketChannel.getChannel().read(byteBuffer); Я...
1103 просмотров
schedule 10.08.2022

Как я могу создать разные селекторы для принятия нового соединения в java NIO
Я хочу написать программирование сокетов java tcp, используя java NIO. Он работает нормально. Но я использую один и тот же селектор для чтения и записи клиентов. Как я могу создать разные селекторы для принятия нового соединения в java NIO,...
2613 просмотров
schedule 17.06.2022

Сервер NIO не может слушать клиента
Привет, я пытаюсь реализовать простой сервер Java NIO; который регистрирует socketChannel с помощью селектора. Следовательно, я хочу выслушать клиента и отправить ответ. После того, как socketChannel зарегистрирован с помощью селектора, даже если...
1047 просмотров
schedule 23.01.2024

java.nio каналы буферы потоки терминология
Есть ли у кого-нибудь хорошая аналогия (или, в противном случае, хороший ресурс) для описания отношений между буферами, потоками, читателями, каналами, селекторами и т. д. в java.io и java.nio? Спасибо
973 просмотров
schedule 15.02.2024

Распределение JAVA NIO ByteBuffer для размещения самого большого набора данных?
Я работаю над онлайн-игрой, и я столкнулся с небольшой проблемой, работая над серверной частью. Каков наилучший способ обработки полных наборов пакетных данных при использовании неблокирующих сокетов в Java, которые не могут быть обработаны до тех...
1416 просмотров
schedule 07.05.2022

Проблема с потоками Java NIO с SocketChannel.write()
Иногда при отправке большого количества данных через SocketChannel.write() базовый буфер TCP заполняется, и мне приходится постоянно повторять попытку записи(), пока все данные не будут отправлены. Итак, у меня может быть что-то вроде этого:...
10355 просмотров
schedule 25.07.2022

Java: полные примеры кода блокировки ввода-вывода для каждого соединения по сравнению с NIO?
Хорошо, я схожу с ума здесь. Я переписывал код NIO для своего сервера и столкнулся с настоящей головной болью. Суть в том, что получить NIO «правильно» очень сложно. Некоторые люди указали мне на руководство по Rox по адресу...
5190 просмотров
schedule 26.04.2023

Когда и как освобождаются прямые буферы NIO?
У меня есть библиотека C, которой нужен временный буфер для рабочего пространства. Я рассматриваю возможность передачи ему адреса прямого байтового буфера. Разрешается ли когда-либо виртуальной машине перемещать буфер до его окончательного...
2359 просмотров
schedule 25.11.2023

Java Serializable, ObjectInputstream, неблокирующий ввод-вывод
Я только начинаю с сериализации Java, и мне не ясно, как вы должны получать объекты из источника в сценарии с неблокирующим вводом-выводом. Во всей документации, которую я могу найти, предлагается использовать ObjectInputStream как правильный...
3822 просмотров
schedule 10.09.2022

Укажите время ожидания соединения в java.nio
При использовании неблокирующего ввода-вывода код подключения к удаленному адресу выглядит примерно так: SocketChannel channel = SelectorProvider.provider().openSocketChannel(); channel.configureBlocking(false); channel.connect(address);...
4759 просмотров
schedule 10.08.2023

Сокет блокировки Java, возвращающий неполный ByteBuffer
У меня есть socketChannel, настроенный как блокирующий, но при чтении байтовых буферов размером 5 КБ из этого сокета я иногда получаю неполный буфер. ByteBuffer messageBody = ByteBuffer.allocate(5*1024); messageBody.mark();...
2755 просмотров
schedule 05.03.2024

Сервлет Java NIO в файл
Есть ли способ (без буферизации всего потока ввода) взять HttpServletRequest из сервлета Java и записать его в файл, используя все NIO? Стоит ли вообще пытаться? Будет ли это более быстрое чтение из обычного потока java.io и запись в канал java.nio,...
2073 просмотров
schedule 03.10.2022

Передача команд от клиента на сервер в Clojure/Java
Я работаю над приложением Clojure, где клиенту нужно отправить некоторые команды на сервер. Это будет происходить в довольно больших объемах, поэтому я хотел бы, чтобы он был достаточно эффективным, как с точки зрения обработки, так и с точки зрения...
622 просмотров

Как нисходящие события работают в netty jboss?
Просто начал играть с netty при реализации моего собственного сервера. Мне потребовалось некоторое время, чтобы освоиться, но теперь я смог принимать клиентов, написав свой собственный MessageHandler, а внутри messageReceived я смог прочитать из...
2387 просмотров
schedule 26.05.2023

Selector.select(время ожидания) x Selector.selectNow()
Я реализую неблокирующий HTTP-сервер на Java и решил использовать чистый Java NIO. Я объединяю селектор NIO с небольшим пулом потоков для выполнения операций, указанных селектором. Покинув систему, выберите селектор по умолчанию (проверено в...
2940 просмотров
schedule 27.05.2023