DirectPlay - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Sunucu-istemci ve peer to peer arasında seçim
  • 2 Servis sağlayıcılar
  • 3 Bağlantı
  • 4 Ses bağlantısı
  • 5 Sonuç

DirectPlay

  • English
  • Español
  • فارسی
  • Français
  • Nederlands
  • Polski
  • Русский
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi

DirectPlay, DirectX'in çok kullanıcı oyunlar başta olmak üzere birçok kişinin aynı anda birçok mesaj yolladığı ortamların yaratılmasını kolaylaştırmak için geliştirdiği bir iletişim protokolüdür. DirectPlay, sunucu-istemci (server-client) veya peer to peer tipi bir organizasyonda asenkron mesajlaşma, mesaj öncelikleri, paket birleştirme, kayıpsız gönderim veya paket şifreleme gibi olanaklar sunar ve DirectPlay Voice modülü sayesinde ses iletimini de mümkün kılar.

Sunucu-istemci ve peer to peer arasında seçim

[değiştir | kaynağı değiştir]

Sunucu-istemci tipi bir ağda birçok istemci (kullanıcı) bir sunucuya bağlanır. Burada her kullanıcı sunucuya diğer kullancılara yollamak istediği mesajları bir kez verir, sunucu ise bu mesajı gerekli kullanıcılara yollamakla yükümlüdür. Dolayısıyla, sunucunun büyük miktarda ağ kaynağına sahip olması gerekmektedir.

Peer to peer tipi bir ağda ise, her kullanıcı her istediği kullanıcıya mesajını teker teker yollar. Her ne kadar bu kullanıcı başına düşen ağ yükünü artırsa da, sistemin paylaştırılmış olması ve dolayısıyla çökmesinin çok daha zorlaşmış olması bir avantaj kabul edilmektedir, üstelik bu oyun yazarını bir oyun sunucusu kurma derdinden de kurtarır.

Programcı, DCOM arayüzünü kullanarak IDirectPlayClient, IDirectPlayServer veya IDirectPlayPeer neslerinden kendi uygulamasına uygun olanları yaratır.

Servis sağlayıcılar

[değiştir | kaynağı değiştir]

DirectPlay, mesajlaşma hizmetlerini muhtelif servis sağlayıcıları (service provider) kullanarak yapabilir. Genelde servis sağlayıcı TCP/IP olsa da bazı kullanıcıların ihtiyaçlarına göre Bluetooth veya modem de olabilir. Buna ek olarak, programcı isterse Microsoft'un sunduğu ayarlanabilir başarımlı TCP/IP servis sağlayıcısını kullanarak yazılımın değişik ağ koşullarında nasıl çalıştığını görebilir.

Bağlantı

[değiştir | kaynağı değiştir]

Kontrol nesnesinin yaratılması, servis sağlayıcı ve ona bağlı adres nesnesinin de ona eklenmesiyle bağlantıya hazır hale gelinir. Bağlantı sırasında, DirectPlay nesnesi yaratırken belirttiğiniz mesaj alma fonksiyonuna çağrılarda bulunur ki bu çağrılardan en önemlileri:

  • DPN_MSGID_ENUM_HOSTS_RESPONSE mesajı bağlanma isteğinin kabul olduğuna işaret olarak gelir. Bağlantı bilgilerini içerir.
  • DPN_MSGID_CREATE_PLAYER ve DPN_MSGID_DESTROY_PLAYER mesajları oyuncular bağlandığında ve bağlantıyı koparttığında gelir.
  • DPN_MSGID_RECEIVE kullanıcıya mesaj gelince gelir (mesajlar SendTo metodu ile yollanır). Tartışmasız bir oyundaki en önemli mesaj da budur.
  • DPN_MSGID_TERMINATE_SESSION bağlantı kopunca gelir.

Unutulmaması gereken önemli noktalardan biri: DirectPlay, kullanıcı yaratılışı için kendi iç mesajlaşma sistemini kullanır. Dolayısıyla, yüksek öncelikli mesajlar yollandığında bu mesajlar o kullanıcıya "ilgili kullanıcı bağlandı" mesajından daha önce gelebilir.

Ses bağlantısı

[değiştir | kaynağı değiştir]

"Normal" nesne bağlantısı kuruluduğunda, DirectPlayVoiceClient ve gerekiyorsa DirectPlayVoiceServer nesnelerini DCOM aracılığı ile yaratıp "normal" bağlantı nesnesine eklediğiniz anda ses bağlantısı kurulur. DirectPlay Voice, 1.2 kbit'den 64 kbit'e kadar değişik bant genişlikleri kullanan codecler ile birlikte gelir, ama maalesef dış codec kullanımı mümkün değildir. Sesin hangi kullanıcılara yollanacağı SetTransmitTargets metodu ile seçilir.

Son olarak, DirectPlayVoiceClient nesnesinin Create3DSoundBuffer metodu kullanılarak her oyuncuya özel bir üç boyutlu ses kanalı verilebilir!

Sonuç

[değiştir | kaynağı değiştir]

Görüldüğü üzere, DirectPlay ile çok hızlı bir şekilde NAT ve UPnP desteğine sahip, gerekiyorsa şifreleme kullanabilen ve hatta üç boyutlu ses alış verişi yapabilen uygulamalar yapılması mümkündür.

"https://tr.wikipedia.org/w/index.php?title=DirectPlay&oldid=33809840" sayfasından alınmıştır
Kategoriler:
  • Bilgisayar
  • DirectX
  • Microsoft
  • Sayfa en son 10.00, 17 Eylül 2024 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
DirectPlay
Konu ekle