Jump to content

Директплей

DirectPlay является частью Microsoft от DirectX API . Это библиотека сетевых коммуникаций, предназначенная для разработки компьютерных игр , хотя ее можно использовать и для других целей.

DirectPlay — это программный интерфейс высокого уровня между приложениями и службами связи, который позволяет подключать игры через Интернет , модемную связь или сеть . Он содержит набор инструментов, которые позволяют игрокам находить игровые сессии и сайты для управления потоком информации между хостами и игроками. Он предоставляет приложениям возможность взаимодействовать друг с другом независимо от используемой онлайн-службы или протокола. Он также решает многие проблемы с подключением, такие как трансляция сетевых адресов (NAT).

Как и остальная часть DirectX, DirectPlay работает в COM, и доступ к нему осуществляется через объектной модели компонентов (COM) интерфейсы . По умолчанию DirectPlay использует методы многопоточного программирования и требует тщательного подхода, чтобы избежать обычных проблем с многопоточностью. Начиная с версии DirectX 9, эту проблему можно решить за счет эффективности.

Сетевая модель

[ редактировать ]

В основе DirectPlay лежит протокол пользовательских датаграмм (UDP), обеспечивающий быструю связь с другими приложениями DirectPlay. Он использует порты TCP и UDP с 2300 по 2400 и 47624. [1]

DirectPlay находится на уровнях 4 и 5 модели OSI .

  • На уровне 4 DirectPlay может выполнять следующие задачи по запросу приложения:
    • Упорядочение сообщений, обеспечивающее поступление данных в том же порядке, в котором они были отправлены.
    • сообщений Надежность , которая гарантирует гарантированное получение данных.
    • сообщений Управление потоком , которое гарантирует, что данные отправляются только со скоростью, с которой получатель может их получить.
  • На уровне 5 DirectPlay всегда выполняет следующие задачи:
    • Инициирование и завершение соединения.

Интерфейсы

[ редактировать ]
  • Основными интерфейсами (методами доступа) для DirectPlay являются:
    • IDirectPlay8Server, который обеспечивает доступ к сервера . функциям
    • IDirectPlay8Client, который обеспечивает доступ к клиента . функциям
    • IDirectPlay8Peer, который обеспечивает доступ к одноранговым функциям.
  • Вторичные интерфейсы:
    • Различные интерфейсы лобби, которые позволяют игрокам находить и готовить игру еще до ее начала.
    • Интерфейсы управления потоками, которые позволяют программисту точно настраивать использование ресурсов. Это также позволяет в целом отключить рабочие потоки , чтобы избежать сложных многопоточных проблем за счет снижения скорости реагирования.
    • Различные интерфейсы трансляции сетевых адресов (NAT), которые упрощают игрокам, находящимся за маршрутизаторами хостинг игр . Большинство игроков, использующих широкополосное подключение к Интернету, сталкиваются с этой проблемой.
    • Различные интерфейсы голосовой связи, известные как DirectPlay Voice , которые упрощают поддержку аудиосвязи и голосового ввода в играх.
    • Различные интерфейсы мониторинга очереди, которые позволяют приложению получать информацию о том, сколько данных было отправлено и получено по запросу. Это позволяет приложению уменьшать/увеличивать объем отправляемых данных в соответствии с возможностями получателя.

Голос DirectPlay

[ редактировать ]

DirectPlay Voice был представлен в Windows Me как часть DirectX 7.1 для многопользовательских игр. [2] Это API голосовой связи, записи и воспроизведения, который позволяет геймерам использовать голосовой чат в играх, написанных с использованием преимуществ API, через сам сеанс сетевого транспорта DirectPlay.

Текущий статус

[ редактировать ]

DirectPlay традиционно был одним из компонентов DirectX, которому уделялось меньше внимания, но в версии DirectX 8 он был серьезно переработан и стал относительно легкой сетевой библиотекой. Однако в рамках презентации XNA компанией Microsoft в 2004 году Microsoft объявила, что DirectPlay будет устаревшим в пользу технологии Games for Windows — Live, уже доступной на Xbox и портируемой для использования на с Windows ПК . DirectPlay будет поддерживаться в библиотеках DirectX DLL на протяжении всего срока службы Microsoft Windows XP, но с осени 2007 г. [3] заголовки и библиотеки — жизненно важные компоненты, если разработчики хотели разрабатывать новые программы, использующие эту технологию, — отсутствовали в DirectX SDK.

В Windows Vista DirectPlay устарел, а DirectPlay Voice и NAT Helper DirectPlay были удалены. [4]

См. также

[ редактировать ]
  1. ^ «[MC-DPL4CS]: Протокол DirectPlay 4: поставщики ядра и услуг» .
  2. ^ «Microsoft DirectX будет использовать технологию голосовой связи в реальном времени» . Центр новостей Майкрософт . 2012-10-23. Архивировано из оригинала 23 октября 2012 г. Проверено 25 января 2020 г.
  3. ^ «DirectX SDK — (август 2007 г.)» . Центр загрузки Microsoft . Архивировано из оригинала 25 января 2020 г. Проверено 25 января 2020 г.
  4. ^ Уайт, Стивен. «Часто задаваемые вопросы по DirectX — приложения Win32» . Центр разработки Windows . Архивировано из оригинала 25 января 2020 г. Проверено 25 января 2020 г.
[ редактировать ]

Некоторые альтернативные библиотеки, которые служат той же цели, что и DirectPlay.

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ec973cb7b7739e5e6c9802cbdfe0143a__1689132480
URL1:https://arc.ask3.ru/arc/aa/ec/3a/ec973cb7b7739e5e6c9802cbdfe0143a.html
Заголовок, (Title) документа по адресу, URL1:
DirectPlay - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)