2016-03-22 25 views
0

Müşterilerin oyuna katıldığı, oynadığı ve istedikleri gibi bıraktığı küçük bir çevrimiçi oyun (öğrenme uğruna) inşa etmeye çalışıyorum.UDP bağlantısı için istemcileri kaydetmek için TCP soketini kullanın?

Oyuna katılan ve ayrılan istemcileri işlemek ve aynı yuvadaki bir UDP bağlantısına abone olmak için bir TCP soketi kullanmayı düşünüyorum.

Bu uygulama kullanılmış mı, doğru mu? Bu kodu C++ ile Boost.asio ile yazıyorum.

+0

"Aynı yuvada bir UDP bağlantısına abone" tanımlayın. – EJP

+0

İstemci soket üzerinde bir TCP bağlantısı kurar, sonra sunucu onları oyuna ekler ve oyun durumunu UDP üzerinden bu istemci ile iletişim kurmaya başlar (aynı sokette müşteriye özgüdür) – shane

+1

Bunu mu demek istediniz? Port numarası*? UDP için bir TCP soketi kullanamazsınız. Ve 'UDP bağlantısı' diye de bir şey yoktur. – EJP

cevap

0

Neden UDP'ye ihtiyacınız olduğunu anlamaya ne dersiniz? Oyun latansı kritik mi? Gereksinimleri nelerdir?

Eğitim amaçlı olarak TCP'ye bağlı kalmayı ve biraz çalışmayı tercih ederim. Ardından problemlere/gereksinimlere bağlı olarak değiştirin.

-3

Kullanıcı katılımını ele almak için bir UDP soketi ve oyunla ve abone olmak için bir TCP bağlantısı kullanmanız gerektiğini düşünüyorum.

+2

Sizce * neden? * – EJP

+0

UDP, müşterinin etkin bir şekilde birleşmesini sağlayabilir. Ve abone olmak için TCP bağlantısı gereklidir. UDP ile verimli abone yapamazsınız. – stan

+0

Peki neden 'oyunla başa çıkmak için' TCP bağlantısını kullanalım? Ve iddialarınızın temeli nedir? Ve tüm bunlar sizin cevabınızda görünmüyor. – EJP

İlgili konular