Saya ingin membuat game multiplayer online 3g untuk iphone. Multiplayer adalah fokus utama saya tetapi saya perhatikan semua aplikasi game membutuhkan wi-fi. Apakah ada yang tahu jika ini hanyalah masalah dengan kecepatan jaringan 3g atau pembatasan dosis apel pada jaringan 3g mereka yang mencegah pengembang melakukan hal ini?
iphone
software-engineering
networking
multiplayer
Jesse Dorsey
sumber
sumber
Jawaban:
Saya tidak tahu adanya batasan spesifik yang Apple berikan tentang 3G. Media komunikasi masih berupa TCP / UDP atau HTTP POST / GET.
Dalam hal keterbatasan jaringan, jaringan seluler seperti layanan 3G Anda tentu memiliki serangkaian karakteristik yang unik. Jaringan 3G terkenal memiliki latensi yang mengerikan, tidak jarang melihat waktu bolak-balik hingga 700 ms. Dalam hal bandwidth, 3G tidak terlalu buruk begitu data mulai mengalir.
Jika Anda melihat game aksi multi-pemain di mana setiap detik diperhitungkan, memiliki lonjakan 0,7 detik akan sangat buruk. Ini adalah salah satu alasan mengapa Anda akan menggunakan Wifi. Namun jika itu adalah game jenis Mafia Wars, Anda akan baik-baik saja.
Saya mungkin mengingat hal ini dengan tidak benar, tetapi sepertinya saya ingat ada masalah dalam membuat sesi klien / klien antara dua pengguna 3G - seperti ada firewall yang mencegah port masuk melalui 3G. Untuk alasan ini Anda akan membutuhkan server terpusat untuk mencocokkan klien atau menggunakan Wifi.
sumber
Ponsel yang menggunakan jaringan 3G biasanya (tidak selalu, tetapi kebanyakan) beroperasi di belakang NAT yang sangat terbatas. Paket UDP dari soket sumber yang sama ke dua tujuan yang berbeda biasanya akan muncul dari perangkat menggunakan dua alamat IP yang berbeda. Ini membuatnya sangat sulit untuk membuat koneksi peer to peer.
Kondisi jaringan seperti latensi dan packet loss lebih umum daripada ADSL rumah atau koneksi kabel. Namun jika pengguna memiliki sinyal yang sangat baik maka bandwidth dapat lebih tinggi dari ADSL atau kabel.
Anda biasanya dapat menggunakan TCP dan UDP. Namun jika Anda menggunakan UDP maka saya akan merekomendasikan menggunakan perpustakaan yang dapat mengatasi kinerja UDP yang buruk. Saya telah menggunakan ReplicaNet dengan sukses besar pada jaringan dengan kinerja jaringan yang buruk. Koneksi UDP yang andal yang digunakan tampaknya sangat stabil dan pulih dari packet loss dengan baik.
sumber