Ini pertanyaan yang sering saya lihat. Kebanyakan orang mengatakan UDP selalu lebih baik untuk gim real-time daripada TCP. Pemahaman saya adalah bahwa TCP mencoba mengirim ulang paket berulang kali sampai pihak lain mendapatkannya sedangkan UDP tidak peduli.
Sebagian besar hal yang saya baca adalah bahwa UDP adalah suatu keharusan untuk setiap permainan waktu nyata dan TCP mengerikan. Tapi masalahnya, kebanyakan orang tampaknya menerapkan beberapa bentuk TCP di atas UDP. Dan saya juga pernah mendengar bahwa perbedaan antara keduanya dapat diabaikan mengingat kita tidak berada di tahun 80-an dan internet sekarang cukup cepat dan dapat diandalkan.
Apakah pemahaman umum saya di sini salah? Bisakah seseorang membersihkan ini untuk saya?
t0
yang tidak pernah diterima, maka Anda mengirim negara dunia baru pada waktu itu t1
, Anda tidak perlu menunggu sampai klien benar-benar menerima paket pertama, yang sudah usang.
internet is now pretty fast and reliable
Tidak, tidak. The bandwidth yang telah meningkat secara dramatis, ya, tapi latency masih cukup tinggi. Dengan TCP murni Anda perlu waktu centang server lebih dari latensi terjangkau maks, kecuali jika Anda melakukan pemerasan paket - yang terbaik dilakukan pada klien melalui UDP. Masalahnya adalah bahwa beberapa info dalam game harus dapat diandalkan, sementara beberapa lainnya harus cepat. Protokol khusus di atas UDP memungkinkan untuk itu, serta banyak protokol eksklusif yang memberikan semua yang Anda butuhkan dalam paket yang bagus.