home *** CD-ROM | disk | FTP | other *** search
- DirectPlay is not DBCS enabled.
-
- DPRECEIVE_FROMPLAYER now works.
-
- PLEASE NOTE: This isn't a change, but people often miss it.
- Send() may return a non-zero success value.
- You need to test Send() for error using if (FAILURE(hr = Send(...))).
- if (SUCCESS(hr = Send(...)) && hr) THEN:
- You are using a modem.
- The modem is backing up. The value of 'hr' is the number of backed up
- messages waiting to be put on the wire. You must slow your data rate down,
- or at least monitor this. If the backup reaches 64, Send will return
- DPERR_BUSY. The '64' can be queried. Check GetCaps(). The max queue size
- is the value that Send will start failing new send requests.
-
-
-
- An application should use DirectPlayEnumerate() to determine the
- service providers available and create a list of these. This list should
- be presented to your user. Once the user selects a provider, the application
- should open based on the GUID (returned in the callback) using
- DirectPlayCreate().
-
- DirectPlay provides 3 services in 2 dlls. Serial Modem, TCP/IP, IPX.
-
- Once connected, the user should select whether they wish to Create a
- game or connect to one. For the creation case, call Open() with the game
- parameters set. For connection, call EnumerateSessions(), have the user
- pick a game, and then open that game.
-
- You should always do a DestroyPlayer() on any locally created players before
- you try and exit.
-
- You should always Close() before exiting.
-
- Close() will not succeed unless you have destroyed all local players.
- In addition, if you are the game creator all players must be destroyed.
-
- Latency is not a guaranteed value by any means. If latency is truely
- important to you, you should check appliation to application latency
- by measuring it yourself.
-
- It is important to keep packet sizes as small as possible.
-
- It is important to limit the amount of messages that can be generated.
- Immortal Klowns, for example, issues a message for every keystroke. Someone
- pounding on the keyboard will cause IKlowns to fail. It is better if
- you sample keyboard input at a particular rate, or otherwise limit the input.
-
- Always remember that DirectPlay implements unreliable communications.
- You can't count on a message getting to its destination.
-
- You tell a system message from others because it comes from player 0.
-
- If you get a DPSYS_SESSIONLOST system message you need to delete the
- players, close the session, release the DirectPlay object, and recreate
- the DirectPlay object and your local player(s).
-