Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

DirectPlay

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
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 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 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ı 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ı "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ç 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. Kategori:Bilgisayar Kategori:DirectX Kategori:Microsoft
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri