Microsoft DirectPlay je síťové programovací rozhraní (API), které poskytuje služby transportní vrstvy a vrstvy relací .
DirectPlay podporuje topologie připojení klient-server a klient-klient . Topologie klient-server je navržena pro velké hry pro více hráčů. Klienti vytvoří spojení pouze se serverem a pokud je potřeba přenést paket mezi klienty, je odeslán přes server.
Při použití topologie klient-klient se vytvoří spojení od každého klienta ke každému jinému klientovi. Pakety jsou odesílány přímo jinému klientovi bez potřeby centrálního serveru. Jeden z klientů je zvolen jako hostitel relace a zajišťuje administrativní zátěž spojenou s udržováním relace mezi všemi klienty. V případě vypnutí hlavního počítače je znovu zvolen ze zbývajících klientů, přičemž je zaručeno dokončení všech zahájených transakcí. Topologie je vhodná pro malé hry pro více hráčů omezené na zhruba šedesát čtyři klientů.
Interní služba DPNSRV uchovává seznam všech relací spuštěných na počítači a odesílá jej klientům, kteří se připojují na port 6073 přidělený pro DirectPlay.
Při použití topologie klient-klient je audio stream přenášen současně ke všem příjemcům. Požadovaná šířka pásma a zatížení CPU klienta se zvyšuje s počtem klientů, takže tato topologie není dobře škálovatelná.
Při použití míchání relací je audio stream odeslán na server, kde je smíchán s audio streamy z jiných klientů a odeslán zpět každému klientovi. Při použití této topologie se zvyšuje zpoždění přenosu zvuku a CPU serveru je silně zatíženo a také není možné použít 3D zvukové efekty.
Další variantou modelu klient-server je předávání relací, při kterém server předává audio stream všem příjemcům bez míchání. To výrazně snižuje využití CPU serveru (ale zvyšuje se pro klienty, protože se musí míchat ), požadovaná šířka pásma je menší než u topologie klient-klient, ale větší než u míchání relací.