Şu anda ac # çevrimiçi çok oyunculu oyun üzerinde gerçek zamanlı olarak çalışıyorum. Amaç, UDP protokolünü kullanarak istemci / sunucu tabanlı bağlantı kurmaktır. Şimdiye kadar oyuncuların hareketleri için UDP ve olaylar için TCP (oyuncu atış, can kaybeden bir oyuncu) kullandım çünkü bu tür verilerin sunucuya bağlı tüm oyunculara ulaşacağından emin olmalıyım. UDP'nin 'güvenilmez' dediğini ve bazı paketlerin kaybolabileceğini biliyorum. Ama TCP ve UDP'yi asla karıştırmamak için her yerde okudum çünkü bağlantıyı etkileyebilir.
Ana soru ağımı nasıl organize etmeliyim?
UDP bağlantısız, kimin kim olduğunu nasıl kurtarmalıyım? İstemcilerin ip adreslerini bir listeye kaydetmeli miyim?
Önemli olaylar için TCP kullanmalı mıyım yoksa UDP mi kullanmalıyım? UDP kullanmam gerekirse, verilerin kaybolmayacağından nasıl emin olabilirim?
Hem TCP hem de UDP kullanarak, her oyuncu için IP'lerini bir listede (UDP için) ve başka bir listede (UDP için) bağlı olan TcpClient'i kaydetmem gerekir. Daha etkili olması için bunu nasıl değiştirebilirim?