Я пишу простой сервер, использующий выбор для мониторинга нескольких случаев.Использование выбора для обнаружения ввода на клавиатуре
Вот мой код:
while (1) { /* Main server loop - forever */
build_select_list();
timeout.tv_sec = 1;
timeout.tv_usec = 0;
readsocks = select(maxSock+1, &socks, (fd_set *) 0, (fd_set *) 0, &timeout);
if (readsocks < 0) {
perror("select");
exit(EXIT_FAILURE);
}
if (readsocks == 0) {
printf(".");
fflush(stdout);
} else
read_socks();
}
Я знаю, выберите detecs изменения в гнездах он контролирует и «отчет» об этом. Могу ли я обнаружить ввод клавиатуры от пользователя (для команд, таких как exit), используя select? Если нет, как мне это сделать?
Это больше похоже на 'C', чем' C++' для меня. Настолько, что я собираюсь повторить это. Если вы действительно пишете 'C++', не стесняйтесь отката. – Paulpro
Посмотрите на это http://stackoverflow.com/questions/2780051/linux-c-select-piping-echo-to-input-works-but-reading-from-keyboard-doesnt – mathematician1975