นี่เป็นคำถามที่ฉันเห็นมาก คนส่วนใหญ่กล่าวว่า UDP นั้นดีกว่าสำหรับเกมแบบเรียลไทม์มากกว่า TCP ความเข้าใจของฉันคือ TCP พยายามส่งแพ็กเก็ตซ้ำแล้วซ้ำอีกจนกว่าอีกฝ่ายจะรับมันในขณะที่ UDP ไม่สนใจ
สิ่งที่ฉันได้อ่านส่วนใหญ่คือ UDP เป็นสิ่งจำเป็นสำหรับเกมเรียลไทม์และ TCP นั้นแย่มาก แต่สิ่งนี้คือคนส่วนใหญ่ดูเหมือนจะใช้รูปแบบของ TCP บน UDP อย่างไรก็ตาม และฉันก็ได้ยินด้วยว่าความแตกต่างระหว่างสองอย่างนั้นเล็กน้อยมากเพราะเราไม่ได้อยู่ในยุค 80 อีกต่อไปแล้วอินเทอร์เน็ตก็ค่อนข้างเร็วและน่าเชื่อถือ
ความเข้าใจทั่วไปของฉันที่นี่ผิดหรือเปล่า? มีคนช่วยเคลียร์สิ่งนี้ให้ฉันได้ไหม
t0
ที่ไม่เคยได้รับจากนั้นคุณส่งสถานะโลกใหม่ในเวลาที่t1
คุณไม่ต้องรอจนกว่าลูกค้าจะได้รับแพคเกจแรกจริง ซึ่งล้าสมัยไปแล้ว
internet is now pretty fast and reliable
ไม่มันไม่ใช่. แบนด์วิดธ์ได้เพิ่มขึ้นอย่างรวดเร็วใช่ แต่แฝงยังค่อนข้างสูง ด้วย pure TCP คุณต้องใช้เวลาติ๊กของเซิร์ฟเวอร์มากกว่าเวลาแฝงสูงสุดที่เหมาะสมยกเว้นว่าคุณทำแพ็กเก็ต squishing ซึ่งทำได้ดีที่สุดที่ไคลเอ็นต์ผ่าน UDP ปัญหาคือข้อมูลบางอย่างในเกมจะต้องมีความน่าเชื่อถือในขณะที่บางอย่างต้องรวดเร็ว โปรโตคอลที่กำหนดเองที่ด้านบนของ UDP อนุญาตให้ทำเช่นนั้นรวมถึงกลุ่มของกรรมสิทธิ์ที่ให้ทุกสิ่งที่คุณต้องการในแพ็คเกจที่ดี