Введение
Компонент Microsoft DirectX API DirectPlay является частью Microsoft DirectX API. Это сетевая библиотека коммуникаций, предназначенная для разработки компьютерных игр, хотя её можно использовать и в других целях. DirectPlay — это программный интерфейс высокого уровня между приложениями и службами связи, обеспечивающий подключение игр через Интернет, модемное соединение или локальную сеть. Он включает в себя набор инструментов, позволяющих игрокам находить игровые сессии и сайты для управления обменом данными между хостами и игроками. DirectPlay предоставляет приложениям возможность общаться друг с другом, независимо от используемого онлайн-сервиса или протокола. Он также решает многие проблемы подключения, такие как преодоление Network Address Translation (NAT). Как и другие компоненты DirectX, DirectPlay работает в среде COM и доступен через интерфейсы объектной модели компонентов (COM). По умолчанию DirectPlay использует многопоточное программирование, что требует внимательного подхода для избежания типичных проблем с многопоточностью. Начиная с версии DirectX 9, эту проблему можно смягчить, но за счёт производительности.
DirectPlay is part of Microsoft's DirectX API. It is a network communication library intended for computer game development, although it can be used for other purposes. DirectPlay is a high level software interface between applications and communication services that allows games to be connected over the Internet, a modem link, or a network. It features a set of tools that allow players to find game sessions and sites to manage the flow of information between hosts and players. It provides a way for applications to communicate with each other, regardless of the underlying online service or protocol. It also resolves many connectivity issues, such as Network Address Translation (NAT). Like the rest of DirectX, DirectPlay runs in COM and is accessed through component object model (COM) interfaces. By default, DirectPlay uses multi threaded programming techniques and requires careful thought to avoid the usual threading issues. Since DirectX version 9, this issue can be alleviated at the expense of efficiency.
DirectPlay Голос
DirectPlay Voice был представлен в Windows Me как часть DirectX 7.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 года заголовки и библиотеки – важнейшие компоненты для разработчиков, желающих создавать новые программы с использованием этой технологии – перестали входить в состав DirectX SDK. В Windows Vista DirectPlay был объявлен устаревшим, а DirectPlay Voice и NAT Helper DirectPlay были удалены.