Saat ini saya sedang mengerjakan game multiplayer ac # online secara real-time. Tujuannya adalah untuk memiliki koneksi berbasis klien / server menggunakan protokol UDP. Sejauh ini saya telah menggunakan UDP untuk pergerakan pemain dan TCP untuk acara (penembakan pemain, kehilangan nyawa pemain) karena saya perlu memastikan data tersebut akan sampai ke semua pemain yang terhubung ke server. Saya tahu bahwa UDP dikatakan 'tidak dapat diandalkan' dan beberapa paket mungkin hilang. Tapi saya sudah membaca di mana-mana untuk tidak pernah mencampur TCP dan UDP karena dapat mempengaruhi koneksi.
Pertanyaan utamanya adalah bagaimana cara mengatur jaringan saya?
UDP tidak terhubung, bagaimana saya harus menyelamatkan siapa itu siapa? Haruskah saya menyimpan alamat ip klien dalam daftar?
Haruskah saya menggunakan TCP untuk acara-acara penting atau menggunakan UDP? Jika saya perlu menggunakan UDP, bagaimana saya bisa memastikan bahwa data tidak akan hilang?
Dengan menggunakan TCP dan UDP, saya perlu menyimpan untuk setiap pemain IP mereka dalam daftar (untuk UDP) dan TcpClient yang terhubung dalam daftar lain (untuk UDP). Bagaimana saya bisa mengubahnya agar lebih efektif?