Bu çok gördüğüm bir soru. Çoğu insan UDP'nin gerçek zamanlı oyunlar için her zaman TCP'den daha iyi olduğunu söylüyor. Anladığım kadarıyla TCP, UDP umursamazken diğer tarafa ulaşana kadar paketleri tekrar tekrar göndermeye çalışıyor.
Okuduğum şeylerin çoğu, UDP'nin herhangi bir gerçek zamanlı oyun için bir zorunluluk olduğu ve TCP'nin korkunç olduğu. Ama mesele şu ki, çoğu insan zaten UDP'nin üstüne bir çeşit TCP uyguluyor gibi görünüyor. Ayrıca, 80'lerde olmadığımız ve internetin artık oldukça hızlı ve güvenilir olduğu göz önüne alındığında, ikisi arasındaki farkın ihmal edilebilir olduğunu duydum.
Buradaki genel anlayışım yanlış mı? Birisi bunu benim için temizleyebilir mi?
t0
, hiç alınmamış olan dünya durumunu içeren bir paket gönderirseniz , o zaman yeni dünya durumunu gönderirseniz t1
, istemci gerçekten ilk paketi alana kadar beklemek zorunda kalmazsınız, bu zaten kullanılmıyor.
internet is now pretty fast and reliable
Hayır değil. Bant genişliği önemli ölçüde evet arttı, ama gecikme hala oldukça yüksektir. Saf TCP ile, paket squishing yapmazsanız, en iyi istemcide UDP aracılığıyla yapılan sunucu makbuzunun maksimum uygun gecikmeden daha fazla olması gerekir. Sorun şu ki, oyundaki bazı bilgilerin güvenilir olması, bazılarının ise hızlı olması gerekiyor. UDP'nin üstündeki özel protokoller, buna ihtiyacınız olan her şeyi güzel bir pakette veren bir dizi özel protokolün yanı sıra buna izin verir.