This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: "DirectPlay" – news · newspapers · books · scholar · JSTOR (April 2009) (Learn how and when to remove this message)
This article needs to be updated. Please help update this article to reflect recent events or newly available information. (October 2021)

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.

Networking model

Under the hood, DirectPlay is built on the User Datagram Protocol (UDP) to allow it speedy communication with other DirectPlay applications. It uses TCP and UDP ports 2300 to 2400 and 47624.[1]

DirectPlay sits on layers 4 and 5 of the OSI model.

Interfaces

DirectPlay Voice

DirectPlay Voice was introduced in Windows Me as part of DirectX 7.1 for multiplayer games.[2] It is a voice communications, recording and playback API that allows gamers to use voice chat in games written to take advantage of the API, through a DirectPlay network transport session itself.

Current status

DirectPlay was traditionally one of the components of DirectX that received less attention, but for DirectX version 8 it received a major overhaul and became a relatively lightweight networking library. However, as part of Microsoft's unveiling of XNA in 2004, Microsoft revealed that DirectPlay would be deprecated in favor of Games for Windows - Live technology already available on Xbox and being ported for use on Windows PCs. DirectPlay will be supported in DirectX DLLs for the lifetime of Microsoft Windows XP, but from the autumn of 2007[3] the headers and libraries—vital components if developers wanted to develop new programs that utilize the technology—were absent from DirectX SDK.

In Windows Vista, DirectPlay has been deprecated and DirectPlay Voice and DirectPlay's NAT Helper have been removed.[4]

See also

References

  1. ^ "[MC-DPL4CS]: DirectPlay 4 Protocol: Core and Service Providers".
  2. ^ "Microsoft DirectX to Feature Real-Time Voice Technology". Microsoft News Center. 2012-10-23. Archived from the original on 2012-10-23. Retrieved 2020-01-25.
  3. ^ "DirectX SDK - (August 2007)". Microsoft Download Center. Archived from the original on 2020-01-25. Retrieved 2020-01-25.
  4. ^ White, Steven. "DirectX Frequently Asked Questions - Win32 apps". Windows Dev Center. Archived from the original on 2020-01-25. Retrieved 2020-01-25.

Some alternative libraries which serve the same purpose as DirectPlay