Я пишу серверное приложение, используя Boost Asio:
- Сервер: Запуск io_service.run () из пула потоков (один поток на ядро), прием соединений и чтение данных из сокетов сделано* асинхронно.
- Клиент: каждый клиент подключается и отправляет на сервер тяжелый файл (~ 500 МБ).
Проблема: все клиенты подключены к серверу (количество клиентов> числосерверных ядер);io_service обрабатывает только одно соединение / сокет на поток, в то время как данные из других сокетов не обрабатываются, пока не завершится одно из обработанных соединений.
Я ожидаю, что данные из всех подключенных сокетов обрабатываются пулом потоков io_service в одномвремя