2016-09-23 157 views

回答

0

DirectPlay是不推薦使用的遺留組件。舊版DirectX SDK的最新版本包括它的標題是2007年8月。請參閱DirectX SDKs of a certain age。它在任何Windows SDK中都不可用。

它僅存在於今天的Windows操作系統中,僅適用於appcompat。請記住一些重要限制:

  • DirectPlay語音在Windows Vista或更高版本的操作系統上不受支持。見KB970978

  • 的NAT輔助對象是不支持在Windows Vista或更高版本

  • 在Windows 8.x中和Windows 10,DirectPlay的是一個可選的Windows功能,所以它不是存在默認情況下。它必須由用戶啓用。

總之,你不應該使用它。您應該計劃重寫該移植項目的多人遊戲支持,或者將其刪除。

當網絡是一個複雜且不斷髮展的世界時,DirectPlay的主要價值又回來了:調制解調器播放,頭對頭串行端口,IPX/SPX,調制解調器上的TCP/IP和TCP/IP。此時,TCP/IP是唯一重要的網絡解決方案,因此直接使用WinSock更爲可取。對於現代遊戲需要考慮的UDP(數據報)與TCP(虛擬線路)的使用,還存在一些安全隱患。 DirectPlay的大廳機制也非常過時。

有許多現代遊戲服務(如Xbox LIVE,Valve's Steam等),旨在提供現代多人遊戲所必需的匹配,NAT穿越和其他功能。您將WinSock與特定於服務的庫結合使用。

In a related note, there is absolutely no reason to use DirectX 10. DirectX 11 supports much more hardware , is supported on all the same operating systems (Windows Vista SP2+), and has numerous replacements for legacy support libraries that don't exist for Direct3D 10.

相關問題