Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Графика -> Гончаров Д. -> "DirectX 7.0 Для программистов" -> 164

DirectX 7.0 Для программистов - Гончаров Д.

Гончаров Д., Салихо Т. DirectX 7.0 Для программистов — Спб.: Питер, 2001. — 528 c.
ISBN 5-318-00173-4
Скачать (прямая ссылка): dirext7dlyaprogrammistov2001.djvu
Предыдущая << 1 .. 158 159 160 161 162 163 < 164 > 165 166 167 168 169 170 .. 229 >> Следующая

Поле dwMaxPl ayers задает максимальное количество игроков, которые могут принимать участие в сеансе.
Поле dwHundredBaud содержит величину, указывающую пропускную способность канала, единица измерения которой равна 100 бит/с. Например, если это поле равно 14, то пропускная способность канала — 14 ООО бит/с.
Поле dwLatency показывает время в миллисекундах, за которое пакет доходит до своего адресата. Если поле равно 0, значит, DirectPlay не смог определить это значение.
Поле dwMaxLocal Player содержит максимально возможное количество локальных игроков в сеансе.
Поле dwHeaderLength указывает размер заголовка, который DirectPlay присоединяет к каждому отправляемому сообщению. Эта величина зависит от типа используемого провайдера.
378
Урок 12 • Сетевые подключения
Поле dwTimeout содержит время, в течение которого происходит ожидание подтверждения доставки отправленного сообщения.
Таблица 12.6. Флаги структуры DPCAPS
Флаг Описание
DPCAPSAS YNCCANCE LALLSUPPORTED Указывает на возможность отмены отправки всех асинхронных сообщений. Причем именно всех, а не только некоторых
DPCAPSAS YNCCANCE LSUPPORTED Указывает на возможность отмены отправки асинхронных сообщений. Поддерживаются все типы отмены — по идентификационному номеру, по области приоритета, а также отмена отправки всех сообщений
DPCAPSASYNCSUP PORTED Указывает на поддержку асинхронных сообщений. Эта возможность должна поддерживаться сетевым протоколом, который используется провайдером
DPCAPSENCRYPTIONSUPPORTED Указывает на возможность шифрования сообщений. Эта возможность существует при сеансах с повышенной безопасностью или при поддержке системным провайдером шифрования сообщений
DPCAPS6R0UP0PTIMIZED Указывает на оптимизацию отправки сообщений. Это достигается путем рассылки групповых сообщений
DPCAPSGUARANTEEDOPTIMIZED Указывает на возможность отправки сообщений с гарантией их доставки, поддерживаемой системным провайдером
DPCAPSGUARANTEEDSUPPORTED Указывает на возможность отправки сообщений с гарантией их доставки, поддерживаемой или системным провайдером, или благодаря использованию протокола DirectPlay
DPCAPSISHOST Указывает на то, что компьютер является сервером сеанса
DPCAPS_KEEPALIVEOPTIMIZED Указывает на то, что системный провайдер может определить потерю связи с сервером сеанса
DPCAPSSENDPRIORITYSUPPORTED Указывает на использование приоритетов сообщений при их отправке
DPCAPSSENDTIMEOUTSUPPORTED Указывает на поддержку системным провайдером или объектом DirectPlay периода ожидания подтверждения доставки пакета
DPCAPSSIGNINGSUPPORTED Указывает на поддержку объектом DirectPlay или системным провайдером аутентификации сообщений
Управление игроками
Игрок в терминологии DirectPlay представляет собой логический объект, имеющий возможность отправлять и принимать сообщения. Любой сеанс может содержать в себе столько игроков, сколько позволяет пропускная способность сети. Одно приложение может создавать такое количество игроков, какое допускают настройки сеанса.
Каждый игрок при создании получает уникальный идентификационный номер. Данный номер принадлежит ему до тех пор, пока существует сеанс. Если сеанс
Управление игроками
379
был прерван и заново открыт, идентификационные номера игроков генерируются повторно.
Все игроки подразделяются на локальные и удаленные в зависимости от того, на локальном или удаленном компьютере они были созданы. Для отправки и приема сообщений компьютер должен иметь хотя бы одного созданного игрока. Также вполне возможно создание нескольких игроков на одном компьютере.
Любое сообщение, отправляемое игроком, предназначается не компьютеру, а конкретному игроку. Сообщение может быть адресовано ^как удаленному игроку, так и локальному, причем в последнем случае оно не пересылается по сети. Каждое сообщение, полученное приложением, передается игроку с указанием отправителя. При передаче системных сообщений отправитель указывается как DPID_ SYSMSG.
Библиотека DirectPlay предоставляет набор функций управления игроками. Эти функции используются для создания игрока, его удаления, перечисления существующих игроков, получения и установки различных данных.
Перечисление существующих игроков
Иногда возникают ситуации, когда необходимо получить список всех игроков, присутствующих в сеансе. Для решения этой задачи библиотека DirectPlay предлагает функцию IDi rectPl ау4: :EnumPlayers(). Данная функция занимается поиском всех пользователей в сеансе. Если в момент ее вызова нет открытых сеансов, возможно перечисление пользователей в удаленном сеансе, для чего необходимо только знать его идентификационный номер — guidlnstance. Если удаленный сеанс имеет пароль, перечисление пользователей не представляется возможным. Прототип функции перечисления игроков следующий:
HRESULT EnumPlayers(
LPGUID lpguidlnstance.
LPDPENUMPLAYERSCALLBACK2 1pEnumPlayersCal1back2.
LPVOID 1pContext,
DWORD dwFlags
):
Параметр lpguidlnstance является указателем на уникальный идентификационный номер сеанса, игроки которого должны быть перечислены. При установке этого параметра в NULL происходит перечисление игроков текущего открытого сеанса. Если идентификационный номер указан, перечисляются игроки удаленного сеанса. Определение номера удаленного сеанса возможно при использовании функции EnumSessionsO. Этот параметр игнорируется, если при вызове функции EnumSessionsO не указан флаг DPENUMPLAYER_SESSION.
Предыдущая << 1 .. 158 159 160 161 162 163 < 164 > 165 166 167 168 169 170 .. 229 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.