DirectPlay - DirectPlay

DirectPlay es parte de la API DirectX de Microsoft . Es una biblioteca de comunicación en red destinada al desarrollo de juegos de computadora , aunque puede usarse para otros fines.

DirectPlay es una interfaz de software de alto nivel entre aplicaciones y servicios de comunicación que permite que los juegos se conecten a través de Internet , un enlace de módem o una red . Cuenta con un conjunto de herramientas que permiten a los jugadores encontrar sesiones de juego y sitios para administrar el flujo de información entre anfitriones y jugadores. Proporciona una forma para que las aplicaciones se comuniquen entre sí, independientemente del servicio o protocolo en línea subyacente. También resuelve muchos problemas de conectividad, como la traducción de direcciones de red (NAT).

Al igual que el resto de DirectX, DirectPlay se ejecuta en COM y se accede a él a través de interfaces de modelo de objetos de componentes (COM) . De forma predeterminada, DirectPlay utiliza técnicas de programación de subprocesos múltiples y requiere una reflexión cuidadosa para evitar los problemas habituales de subprocesos. Desde la versión 9 de DirectX, este problema se puede solucionar a expensas de la eficiencia.

Modelo de redes

Bajo el capó, DirectPlay se basa en el Protocolo de datagramas de usuario (UDP) para permitir una comunicación rápida con otras aplicaciones DirectPlay. Utiliza los puertos TCP y UDP 2300 a 2400 y 47624.

DirectPlay se encuentra en la capa 4 y 5 del modelo OSI .

  • En la capa 4, DirectPlay puede manejar las siguientes tareas si lo solicita la aplicación:
    • Orden de mensajes, que garantiza que los datos lleguen en el mismo orden en que se enviaron.
    • Fiabilidad de los mensajes , lo que garantiza que se garantice la llegada de los datos.
    • Control de flujo de mensajes , que garantiza que los datos solo se envíen a la velocidad que el receptor puede recibir.
  • En la capa 5, DirectPlay siempre maneja las siguientes tareas:
    • Inicio y terminación de la conexión.

Interfaces

  • Las interfaces principales (métodos de acceso) para DirectPlay son:
    • IDirectPlay8Server, que permite el acceso a la funcionalidad del servidor
    • IDirectPlay8Client, que permite el acceso a la funcionalidad del cliente
    • IDirectPlay8Peer, que permite acceder a peer-to-peer funcionalidad
  • Las interfaces secundarias son:
    • Varias interfaces de lobby que permiten a los jugadores encontrar y preparar un juego antes de que comience.
    • Interfaces de gestión de subprocesos que permiten al programador ajustar el uso de recursos. Esto también permite una desactivación general de los subprocesos de trabajo para evitar problemas complicados de subprocesos múltiples a costa de una menor capacidad de respuesta.
    • Varias interfaces de traducción de direcciones de red (NAT) que facilitan a los jugadores detrás de los enrutadores alojar juegos. La mayoría de los jugadores con conexiones a Internet de banda ancha se enfrentan a este problema.
    • Varias interfaces de comunicación de voz conocidas como DirectPlay Voice que facilitan la compatibilidad con la comunicación de audio y la entrada de voz en los juegos.
    • Varias interfaces de monitoreo de colas que permiten a la aplicación obtener comentarios sobre la cantidad de datos que se han enviado y recibido según lo solicitado. Esto permite que una aplicación disminuya / aumente la cantidad de datos enviados de acuerdo con las capacidades del receptor.

DirectPlay Voice

DirectPlay Voice se introdujo en Windows Me como parte de DirectX 7.1 para juegos multijugador. Es una API de comunicación, grabación y reproducción de voz que permite a los jugadores usar el chat de voz en juegos escritos para aprovechar la API, a través de una sesión de transporte de red DirectPlay.

Estado actual

DirectPlay fue tradicionalmente uno de los componentes de DirectX que recibió menos atención, pero para DirectX versión 8 recibió una revisión importante y se convirtió en una biblioteca de red relativamente liviana. Sin embargo, como parte de la presentación de XNA por parte de Microsoft en 2004, Microsoft reveló que DirectPlay quedaría en desuso en favor de la tecnología Games for Windows - Live que ya está disponible en Xbox y se está adaptando para su uso en PC con Windows . DirectPlay será compatible con las DLL de DirectX durante la vida útil de Microsoft Windows XP, pero desde el otoño de 2007 los encabezados y las bibliotecas, componentes vitales si los desarrolladores quisieran desarrollar nuevos programas que utilicen la tecnología, estuvieron ausentes de DirectX SDK.

En Windows Vista , DirectPlay ha quedado obsoleto y DirectPlay Voice y el Asistente de NAT de DirectPlay se han eliminado.

Ver también

Referencias

enlaces externos

Algunas bibliotecas alternativas que tienen el mismo propósito que DirectPlay