2010-10-12 5 views
1

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

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

+0

Вы заглядываете в данные по трубе. – rerun

+0

nopes Я не использую peek – Arpit

ответ

0

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

Если вы читаете блокировку, считывание не будет выполнено, так как труба была отключена.

4

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

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

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

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

Смежные вопросы