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

Noen alternative biblioteker som tjener samme formål som DirectPlay