DirectPlay - DirectPlay
Direct er en del av Microsofts 's DirectX API . Det er et nettverkskommunikasjonsbibliotek beregnet på dataspillutvikling , selv om det kan brukes til andre formål.
DirectPlay er et programvaregrensesnitt på høyt nivå mellom applikasjoner og kommunikasjonstjenester som gjør at spill kan kobles til via Internett , en modemkobling eller et nettverk . Den har et sett med verktøy som lar spillere finne spilløkter og nettsteder for å administrere informasjonsflyten mellom verter og spillere. Det gir en måte for applikasjoner å kommunisere med hverandre, uavhengig av den underliggende online -tjenesten eller protokollen. Det løser også mange tilkoblingsproblemer, for eksempel Network Address Translation (NAT).
Som resten av DirectX, kjører DirectPlay i COM og er tilgjengelig via komponentobjektmodell (COM) grensesnitt . Som standard bruker DirectPlay programmeringsteknikker med flere tråder og krever nøye tenkning for å unngå de vanlige trådproblemene. Siden DirectX versjon 9 kan dette problemet lindres på bekostning av effektiviteten.
Nettverksmodell
Under panseret er DirectPlay bygget på User Datagram Protocol (UDP) for å tillate rask kommunikasjon med andre DirectPlay -applikasjoner. Den bruker TCP- og UDP -porter 2300 til 2400 og 47624.
DirectPlay sitter på lag 4 og 5 i OSI -modellen .
- På lag 4 kan DirectPlay håndtere følgende oppgaver hvis programmet ber om det:
- Meldingsbestilling, som sikrer at data kommer i samme rekkefølge som de ble sendt.
- Message pålitelighet , som sikrer at data er garantert å ankomme.
- Meldingsstrømningsregulering , som sikrer at data blir bare sendt med en hastighet mottageren kan motta den.
- På lag 5 håndterer DirectPlay alltid følgende oppgaver:
- Tilkoblingsstart og avslutning.
Grensesnitt
- De primære grensesnittene (tilgangsmetoder) for DirectPlay er:
- IDirectPlay8Server, som gir tilgang til serveren funksjonalitet
- IDirectPlay8Client, som gir tilgang til klientfunksjonalitet
- IDirectPlay8Peer, som gir tilgang til node-til-node- funksjonalitet
- Sekundære grensesnitt er:
- Ulike lobbygrensesnitt som lar spillere finne og forberede et spill før det faktisk starter.
- Trådstyringsgrensesnitt som lar programmereren finjustere ressursbruk. Dette gjør det mulig også for en generell deaktivering av arbeideren tråder , slik at vanskelige flertrådede problemer unngås på bekostning av nedsatt reaksjonsevne.
- Ulike grensesnitt for nettverksadresseoversettelse (NAT) som gjør det lettere for spillere bak rutere å være vert for spill. De fleste spillere på bredbåndstilkoblinger står overfor dette problemet.
- Ulike stemmekommunikasjonsgrensesnitt kjent som DirectPlay Voice som gjør det lettere å støtte lydkommunikasjon og taleinngang i spill.
- Ulike køovervåkingsgrensesnitt som lar applikasjonen få tilbakemelding på hvor mye data som er blitt sendt og mottatt etter forespørsel. Dette gjør at en applikasjon kan redusere/øke mengden data som sendes i samsvar med mottakerens evner.
DirectPlay Voice
DirectPlay Voice ble introdusert i Windows Me som en del av DirectX 7.1 for flerspillerspill. Det er en talekommunikasjon, innspilling og avspilling API som lar spillere bruke talechat i spill skrevet for å dra nytte av API, gjennom en DirectPlay nettverkstransportøkt selv.
Nåværende status
DirectPlay var tradisjonelt en av komponentene i DirectX som fikk mindre oppmerksomhet, men for DirectX versjon 8 fikk den en større overhaling og ble et relativt lett nettverksbibliotek. Som en del av Microsofts avsløring av XNA i 2004, avslørte Microsoft imidlertid at DirectPlay ville bli avskrevet til fordel for Games for Windows - Live -teknologi som allerede er tilgjengelig på Xbox og blir portet for bruk på Windows -PCer . DirectPlay vil bli støttet i DirectX DLL -filer i løpet av Microsoft Windows XP, men fra høsten 2007 var overskrifter og biblioteker - viktige komponenter hvis utviklere ønsket å utvikle nye programmer som bruker teknologien - fraværende fra DirectX SDK.
I Windows Vista har DirectPlay blitt avskrevet og DirectPlay Voice og DirectPlay's NAT Helper er fjernet.
Se også
Referanser
Eksterne linker
- Microsofts DirectPlay -dokumentasjon
- Microsoft DirectX 9 Den siste SDK -en som ble levert med DirectPlay -overskrifter og biblioteker.
Noen alternative biblioteker som tjener samme formål som DirectPlay
- HawkNL på Wayback Machine (arkivert 2014-07-08)
- OpenTNL på Wayback Machine (arkivert 2016-04-23)
- Raknet