Содержание- Буферы
- Операции
- Чтение и запись
- Байтовые буферы
- Типизированные буферы
- Каналы
- Иерархия каналов
- Байтовые каналы
- Файловые каналы
- Файлы отображаемые в память
- Блокировки
- Сетевые каналы
- Неблокирующий ввод-вывод
- Асинхронные каналы
Домашнее задание 11. HelloNonblockingUDPHelloNonblockingUDP-
Реализуйте клиент и сервер, взаимодействующие по UDP,
используя только неблокирующий ввод-вывод.
-
Класс
HelloUDPNonblockingClient должен
иметь функциональность аналогичную HelloUDPClient ,
но без создания новых потоков.
-
Класс
HelloUDPNonblockingServer должен
иметь функциональность аналогичную HelloUDPServer ,
но все операции с сокетом должны производиться в одном потоке.
-
В реализации не должно быть активных ожиданий,
в том числе через
Selector .
-
Обратите внимание на выделение общего кода старой и новой реализации.
- Бонусный вариант.
Клиент и сервер могут перед началом работы выделить
O(число потоков) памяти.
Выделять дополнительную память во время работы запрещено.
|