Microsoft DirectX 8.1 (C++) |
The primary function of Microsoft® DirectPlay® is to provide you with efficient and flexible messaging support that largely isolates your application from the underlying network hardware and software. If you need to send a status update, you can simply call the relevant DirectPlay API, regardless of what kind of network link is involved. DirectPlay network service providers support communication over TCP/IP, IPX, modem, and serial links.
DirectPlay does not support secure communications.
To use modems on Microsoft Windows® 95 systems, you must install version 2.0 of the Telephony API (TAPI). You can download TAPI 2.0 from http://www.microsoft.com.
The core of the Microsoft® DirectPlay® networking capabilities is the DirectPlay protocol. This transport-layer protocol has been completely overhauled for DirectPlay 8, and is now used for all messaging. The DirectPlay protocol is focused on making it simple for you to send data from the sending application to the target application, without needing to worry about what happens in between. The protocol offers a number of features that are tailored to the needs of multiplayer games, including:
In order to deliver messages, each participant in a multiplayer game must have a unique address. Addresses can refer either to the computer that your application is running on (device address), or a computer that your application needs to communicate with (host address).
Microsoft® DirectPlay® addresses are in the form of URL strings. These strings consist of a scheme, scheme separator, and data string in the following general format.
x-directplay:/[data string]
The data string contains several elements that specify everything that is needed to enable communication to take place between sender and target, over a variety of different types of network link.
In use, the URL strings are embedded in a DirectPlay address object which is passed to or from DirectPlay API methods. You have the option of either manipulating the URL string directly, or using the methods exposed by the address object to handle each element of the data string separately.