Опрос Windows или выбрать по именованному каналу - PullRequest
1 голос
/ 12 октября 2010

Могу ли я использовать select и poll для дескриптора Named pipe в Windows?Будет здорово, если можно привести пример.(Я очень новичок в программировании Windows)

В случае, если один из процессов выходит из строя, и я опрашиваю другой конец, получу ли я сообщение об ошибке другого процесса, что процесс не работает?

Ответы [ 2 ]

4 голосов
/ 15 марта 2011

К сожалению нет.Windows поддерживает два разных шаблона через перекрывающиеся порты ввода-вывода и завершения ввода-вывода для асинхронной связи.

Вкратце, перекрывающийся ввод-вывод кратко получает обратный вызов после завершения операции ввода-вывода.IOCP получает событие на порт , когда операция ввода-вывода завершается, и позволяет приложениям одновременно масштабировать обработку множества сокетов.

http://en.wikipedia.org/wiki/Iocp

В худшем случаеесли вы можете прикрепить поток IOCP к именованным каналам и создать событие через socketpair для обработки в select или WSAPoll.

0 голосов
/ 12 октября 2010

Если вы выполняете неблокирующее чтение в канале, закрытие другого конца канала (из-за сбоя процесса) приведет к тому, что чтение вернется с ошибкой.

Если вы выполняете блокирующее чтение, чтение завершится ошибкой, так как канал был отключен.

...