Составители:
16
Параметр nDefaultTimeOut задает умалчиваемое значение периода
ожидания подключения клиента к серверу функцией WaitNamedPipe. Это
значение впоследствии может быть переопределено.
После того, как сервер создаст канал, клиенты могут открыть этот ка-
нал с использованием функции CreateFile, указав в качестве имени файла
строку с именем канала. Получив дескриптор своего конца канала, клиент
использует
те же функции WriteFile и ReadFile для записи/чтения информа-
ции в/из канала.
Однако, для того чтобы синхронизировать работу сервера и его клиен-
тов (в частности, позволить серверу вести учет активных клиентов), преду-
смотрен другой механизм подключения клиента к серверу. В этом случае
сервер вызывает функцию ConnectNamedPipe, которая ожидает подключения
очередного клиента
к серверу и возвращает управление, когда соединение
будет установлено (если канал создан в блокирующем режиме). Клиент со
своей стороны должен вызвать функцию WaitNamedPipe:
BOOL WaitNamedPipe(
LPCTSTR lpNamedPipeName, // строка с именем канала
DWORD nTimeOut // интервал ожидания в мсек
);
Параметр nTimeOut определяет промежуток времени nTimeOut, в тече-
ние которого функция ожидает доступа к каналу. В случае успешного завер-
шения (
то есть, если сервер в это же время вызвал функцию
ConnectNamedPipe) функция возвращает TRUE. Таким образом, функция
WaitNamedPipe не открывает канал (это по-прежнему необходимо делать
функцией CreateFile), а лишь сообщает приложению- клиенту, когда канал
становится доступным.
Параметр nDefaultTimeOut задает умалчиваемое значение периода ожидания подключения клиента к серверу функцией WaitNamedPipe. Это значение впоследствии может быть переопределено. После того, как сервер создаст канал, клиенты могут открыть этот ка- нал с использованием функции CreateFile, указав в качестве имени файла строку с именем канала. Получив дескриптор своего конца канала, клиент использует те же функции WriteFile и ReadFile для записи/чтения информа- ции в/из канала. Однако, для того чтобы синхронизировать работу сервера и его клиен- тов (в частности, позволить серверу вести учет активных клиентов), преду- смотрен другой механизм подключения клиента к серверу. В этом случае сервер вызывает функцию ConnectNamedPipe, которая ожидает подключения очередного клиента к серверу и возвращает управление, когда соединение будет установлено (если канал создан в блокирующем режиме). Клиент со своей стороны должен вызвать функцию WaitNamedPipe: BOOL WaitNamedPipe( LPCTSTR lpNamedPipeName, // строка с именем канала DWORD nTimeOut // интервал ожидания в мсек ); Параметр nTimeOut определяет промежуток времени nTimeOut, в тече- ние которого функция ожидает доступа к каналу. В случае успешного завер- шения (то есть, если сервер в это же время вызвал функцию ConnectNamedPipe) функция возвращает TRUE. Таким образом, функция WaitNamedPipe не открывает канал (это по-прежнему необходимо делать функцией CreateFile), а лишь сообщает приложению- клиенту, когда канал становится доступным. 16
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »