ฉันกำลังทำงานกับเกมมัลติเพลเยอร์ออนไลน์ ac # แบบเรียลไทม์ จุดมุ่งหมายคือการมีการเชื่อมต่อลูกค้า / เซิร์ฟเวอร์โดยใช้โปรโตคอล UDP จนถึงตอนนี้ฉันใช้ UDP สำหรับการเคลื่อนไหวของผู้เล่นและ TCP สำหรับกิจกรรม (ผู้เล่นยิงผู้เล่นเสียชีวิต) เพราะฉันต้องแน่ใจว่าข้อมูลดังกล่าวจะมาถึงผู้เล่นทุกคนที่เชื่อมต่อกับเซิร์ฟเวอร์ ฉันรู้ว่า UDP ถูกกล่าวว่า 'ไม่น่าเชื่อถือ' และแพ็คเก็ตบางอย่างอาจสูญหายได้ แต่ฉันได้อ่านทุกที่เพื่อไม่ผสม TCP และ UDP เพราะอาจส่งผลต่อการเชื่อมต่อ
คำถามหลักคือฉันจะจัดระเบียบเครือข่ายของฉันได้อย่างไร
UDP ไม่มีการเชื่อมต่อฉันจะบันทึกว่าใครเป็นใครได้อย่างไร ฉันควรบันทึกที่อยู่ ip ของลูกค้าในรายการหรือไม่
ฉันควรใช้ TCP สำหรับเหตุการณ์สำคัญหรือใช้ UDP หรือไม่ ถ้าฉันต้องการใช้ UDP ฉันจะแน่ใจได้อย่างไรว่าข้อมูลจะไม่สูญหาย
โดยการใช้ทั้ง TCP และ UDP ฉันต้องบันทึก IP ของผู้เล่นแต่ละคนในรายการ (สำหรับ UDP) และ TcpClient ซึ่งเชื่อมต่ออยู่ในรายการอื่น (สำหรับ UDP) ฉันจะเปลี่ยนสิ่งนั้นให้มีประสิทธิภาพมากขึ้นได้อย่างไร