В этой статье слишком много ссылок на первоисточники . ( Апрель 2009 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
DirectPlay является частью Microsoft «s DirectX API . Это библиотека сетевого взаимодействия, предназначенная для разработки компьютерных игр , хотя ее можно использовать и для других целей.
DirectPlay - это программный интерфейс высокого уровня между приложениями и службами связи, который позволяет подключать игры через Интернет , модемное соединение или сеть . Он имеет набор инструментов, которые позволяют игрокам находить игровые сеансы и сайты для управления потоком информации между хостами и игроками. Он позволяет приложениям взаимодействовать друг с другом независимо от базовой онлайн-службы или протокола. Он также решает многие проблемы с подключением, такие как преобразование сетевых адресов (NAT).
Как и остальная часть DirectX, DirectPlay работает в COM и доступен через интерфейсы компонентной объектной модели (COM) . По умолчанию DirectPlay использует методы многопоточного программирования и требует тщательного обдумывания, чтобы избежать обычных проблем с потоками. Начиная с DirectX версии 9, эту проблему можно решить за счет повышения эффективности.
Сетевая модель [ править ]
Под капотом DirectPlay построен на протоколе пользовательских дейтаграмм (UDP), чтобы обеспечить быструю связь с другими приложениями DirectPlay.
DirectPlay находится на уровне 4 и 5 модели OSI .
- На уровне 4 DirectPlay может обрабатывать следующие задачи по запросу приложения:
- Порядок сообщений, который гарантирует, что данные прибывают в том же порядке, в котором они были отправлены.
- Надежность сообщений , гарантирующая гарантированную доставку данных.
- Управление потоком сообщений , которое гарантирует, что данные отправляются только со скоростью, с которой их может получить получатель.
- На уровне 5 DirectPlay всегда выполняет следующие задачи:
- Инициирование и завершение соединения.
Интерфейсы [ править ]
- Основные интерфейсы (методы доступа) для DirectPlay:
- IDirectPlay8Server, который позволяет получить доступ к функциям сервера
- IDirectPlay8Client, позволяющий получить доступ к клиентской функциональности
- IDirectPlay8Peer, который обеспечивает доступ к одноранговым функциям
- Вторичные интерфейсы:
- Различные интерфейсы лобби, которые позволяют игрокам найти и подготовить игру до того, как она начнется.
- Интерфейсы управления потоками, которые позволяют программисту точно настраивать использование ресурсов. Это также позволяет в целом отключить рабочие потоки, чтобы избежать сложных многопоточных проблем за счет снижения скорости отклика.
- Различные интерфейсы преобразования сетевых адресов (NAT), которые упрощают игрокам за маршрутизаторами размещение игр. Большинство игроков, использующих широкополосное подключение к Интернету, сталкиваются с этой проблемой.
- Различные интерфейсы голосовой связи, известные как DirectPlay Voice , упрощают поддержку аудиосвязи и голосового ввода в играх.
- Различные интерфейсы мониторинга очереди, которые позволяют приложению получать обратную связь о том, сколько данных было отправлено и получено по запросу. Это позволяет приложению уменьшать / увеличивать объем отправляемых данных в соответствии с возможностями получателя.
DirectPlay Voice [ править ]
DirectPlay Voice был представлен в Windows Me как часть DirectX 7.1 для многопользовательских игр. [1] Это API голосовой связи, записи и воспроизведения, который позволяет игрокам использовать голосовой чат в играх, написанных с использованием преимуществ API, через сам сеанс сетевого транспорта DirectPlay.
Текущий статус [ править ]
DirectPlay традиционно был одним из компонентов DirectX, которому уделялось меньше внимания, но для DirectX версии 8 он претерпел серьезные изменения и стал относительно легкой сетевой библиотекой. Однако в рамках презентации Microsoft XNA в 2004 году Microsoft объявила, что DirectPlay будет устаревшим в пользу технологии Games for Windows - Live, уже доступной на Xbox и портированной для использования на ПК с Windows . DirectPlay будет поддерживаться в библиотеках DLL DirectX на протяжении всего срока службы Microsoft Windows XP, но с осени 2007 г. [2] заголовки и библиотеки - жизненно важные компоненты, если разработчики хотели разрабатывать новые программы, использующие эту технологию, - отсутствовали в DirectX SDK.
В Windows Vista DirectPlay устарел, а DirectPlay Voice и помощник NAT DirectPlay были удалены. [3]
См. Также [ править ]
- DirectX
Ссылки [ править ]
- ^ «Microsoft DirectX для функции голосовой технологии в реальном времени» . Центр новостей Microsoft . 2012-10-23. Архивировано из оригинала на 2012-10-23 . Проверено 25 января 2020 .
- ^ «DirectX SDK - (август 2007 г.)» . Центр загрузки Майкрософт . Архивировано 25 января 2020 года . Проверено 25 января 2020 .
- ^ Белый, Стивен. «Часто задаваемые вопросы о DirectX - приложения Win32» . Центр разработки для Windows . Архивировано 25 января 2020 года . Проверено 25 января 2020 .
Внешние ссылки [ править ]
- Документация Microsoft DirectPlay
- Microsoft DirectX 9 Последний SDK, поставляемый с заголовками и библиотеками DirectPlay.
Некоторые альтернативные библиотеки, которые служат той же цели, что и DirectPlay.
- HawkNL на Wayback Machine (архивировано 8 июля 2014 г.)
- OpenTNL на Wayback Machine (архивировано 23 апреля 2016 г. )
- Ракнет