DirectPlay | это... Что такое DirectPlay? (original) (raw)

Microsoft DirectPlay — сетевой программный интерфейс (API), обеспечивающий обслуживание на транспортном и сеансовом уровне. DirectPlay работает поверх протоколов IPv4, IPX и по прямому соединению модемами или последовательным кабелем. Голосовое API DirectPlay позволяет передавать голос в реальном времени с использованием различных кодеков требующих небольшую ширину полосы пропускания 1,2—32 Кбод.

Функционирование DirectPlay

DirectPlay поддерживает топологию соединений клиент-сервер и клиент-клиент. Топология клиент-сервер предназначена для больших многопользовательских игр. Клиенты создают соединение только с сервером и при необходимости передачи пакета между клиентами он пересылается через сервер.

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

Внутренний сервис DPNSRV сохраняет список всех сессий, запущенных на машине, и передаёт его клиентам, подключающимся к выделенном для DirectPlay порту 6073. Номера портов для соединений между клиентами (или клиентов с сервером) указываются при установке соединения.

Передача голоса

При использовании топологии клиент-клиент аудиопоток передаётся одновременно всем получателям. Требуемая ширина полосы пропускания и нагрузка на ЦПУ клиента увеличивается с ростом количества клиентов, поэтому данная топология плохо масштабируется.

При использовании микширования сессий аудиопоток передаётся на сервер, где микшируется с аудиопотоками от других клиентов и передаётся обратно каждому клиенту. При использовании данной топологии увеличивается задержка передачи звука и создаётся большая нагрузка на ЦПУ сервера, а кроме того невозможно использовать звуковые трёхмерные эффекты.

Другим вариантом клиент-серверной модели является пересылка сессий, при которой аудиопоток сервер пересылает аудиопоток всем получателям без микширования. Это значительно снижает загрузку ЦПУ сервера (но повышает для клиентов, поскольку им приходится производить микширование), требуемая полоса пропускания меньше чем при использовании топологии клиент-клиент, но больше чем при микшировании сессий.

Аудиопоток может посылаться программно или инициироваться голосом. В последнем случае DirectPlay следит за состоянием аудиоканала и начинает передачу автоматически. DirectPlay обеспечивает постоянное регулирование уровня громкости, освобождая пользователя от необходимости ручной регулировки. Для создания трёхмерных эффектов аудиопоток от каждого источника принимается в отдельный буфер и приложение получает контроль над ними для получения требуемых эффектов.

Ссылки

Просмотр этого шаблона API и фреймворки Microsoft
Графика Desktop Window Manager · Direct2D · Direct3D (extensions) · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component
Аудио DirectMusic · DirectSound · DirectX plugin · XACT · Speech API · XAudio2
Мультимедиа DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media · Video for Windows
Web MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets
Доступ к данным Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC
Сеть Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay
Коммуникации Messaging API · Telephony API · WCF
Администрирование и управление Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System
Компонентная модель COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework
Библиотеки Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL)
Драйверы устройств Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture · VxD
Безопасность Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI)
.NET ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF
Программное обеспечение EFx Factory · Enterprise Library · Composite UI · CCF · CSF
IPC MSRPC · Dynamic Data Exchange (DDE) · Remoting · WCF
Доступность Active Accessibility · UI Automation
Текст и многоязнаяподдержка DirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe