Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Ссылки [ править ]

  1. ^ «Microsoft DirectX для функции голосовой технологии в реальном времени» . Центр новостей Microsoft . 2012-10-23. Архивировано из оригинала на 2012-10-23 . Проверено 25 января 2020 .
  2. ^ «DirectX SDK - (август 2007 г.)» . Центр загрузки Майкрософт . Архивировано 25 января 2020 года . Проверено 25 января 2020 .
  3. ^ Белый, Стивен. «Часто задаваемые вопросы о 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 г. )
  • Ракнет