Multiplayer waktu nyata Android melalui LAN [ditutup]

9

Saya telah mengembangkan beberapa game untuk platform android dan sekarang berencana untuk membuat game multi-pemain pertama saya. Apa yang ada dalam pikiran saya pada dasarnya hanya penyihir permainan 2 pemain yang dapat Anda mainkan dengan 2 ponsel melalui koneksi area lokal / WiFi.

Kedua ponsel harus dapat memberikan 3 nilai integer ke ponsel lain secara real time. Sejauh ini saya telah mempertimbangkan menggunakan Socket, tetapi sebelum saya menggali terlalu dalam saya ingin bertanya apakah mungkin ada pendekatan yang lebih baik?

Terima kasih!

Heigo
sumber
3
Pendekatan yang lebih baik daripada soket ... tidak yakin. Namun, Anda tidak perlu menggunakan soket mentah karena perpustakaan yang sudah ada melakukannya untuk Anda. Saya berasumsi Anda sedang mengembangkan platform Android dengan Java (Anda tidak ditandai sebagai java) sehingga Anda dapat melihat Kryonet.
nathan
Benar, saya sedang mengembangkan dengan java. Saya akan melihat ke Kryonet. Terima kasih atas komentarnya.
Heigo
Jika Anda hanya memberikan nilai pasangan, Anda mungkin ingin mempertimbangkan Bluetooth. Berikut adalah beberapa referensi yang bagus: developer.android.com/guide/topics/connectivity/bluetooth.html dan stackoverflow.com/questions/5619850/…
amb
Saya mungkin juga mempertimbangkan untuk menggunakan bluetooth dalam pengembangan lebih lanjut, tetapi pada saat ini, saya kira orang-orang lebih akrab dengan WiFi.
Heigo
1
Saat ini saya juga mulai membuat game multi-pemain dan saya berpikir untuk memiliki backend layanan istirahat (untuk pendaftaran pemain, perjodohan, dll) dan server game berdasarkan soket tcp. Ketika pertandingan dibuat dan permainan benar-benar dimulai, layanan lainnya akan mengirim pesan soket ke server dan instance sebenarnya dari permainan akan dibuat (untuk membuat hal-hal yang dapat diskalakan). Klien mendapatkan ip untuk server dan membuat koneksi menggunakan securitytoken yang disediakan oleh layanan lainnya. Server game memvalidasi dan melakukan sisanya.
Thomas

Jawaban:

-2

Salah satu opsi yang mungkin Anda lihat adalah Socket.IO .

Tampaknya ada banyak diskusi tentang Socket.IO di Stack Overflow, termasuk:

Sayangnya, saya tidak tahu bagaimana cara mendapatkan satu perangkat Android untuk berkomunikasi langsung ke perangkat Android lain melalui Socket.IO, atau bahkan satu langkah tipuan dengan keduanya berbicara ke satu titik akses WiFi di antara mereka. (Saya masih tidak tahu apakah itu bug dalam kode saya, semacam firewall dalam kode orang lain, atau batasan yang melekat pada Socket.IO). Saya memang mendapatkan satu demo kecil yang berfungsi dengan satu perangkat Android mengirim pesan ke server web, yang meneruskan pesan ke perangkat Android lainnya.

David Cary
sumber
Sebagai plugin untuk server Node.js Socket.IO mungkin relevan dengan pertanyaan tentang multipemain waktu-nyata dalam game browser. Namun, dalam konteks java dan android saat ini, penyebutannya hanya untuk menyesatkan.
Eric
Saya memiliki sedikit demo dengan satu aplikasi Android khusus menggunakan Socket.IO untuk (secara tidak langsung) berkomunikasi dengan aplikasi kustom lain di perangkat Android lain, melalui server Node.js. Ini lebih atau kurang "bekerja", tetapi jika Anda tahu pendekatan yang lebih baik, terutama yang dengan komunikasi lebih langsung, saya (dan saya yakin poster aslinya) ingin mengetahuinya - tolong beri tahu kami.
David Cary
-2

Apakah Anda mengatakan kedua perangkat berada di ruangan yang sama?

Setiap perangkat Android memiliki speaker dan mikrofon. Pada prinsipnya, satu aplikasi memungkinkan untuk mengirim serangkaian nada keluar dari speaker, dan kemudian aplikasi lain untuk mendengarkan nada-nada tersebut dan mendekodekannya kembali ke string pesan. Anda dapat (a) menggunakan seluruh spektrum audio untuk mengirim data, sesuatu seperti skrup akustik dari 60-an dan 70-an, atau (b) menggunakan bandwidth yang jauh lebih sempit dari 15 KHz ke dukungan perangkat tertinggi Anda (mungkin 24 KHz) - - pipa data yang jauh lebih lambat, tetapi kebanyakan orang tidak dapat mendengar frekuensi itu lagi - ini ultrasonik bagi mereka.

Operator radio Ham telah mengembangkan banyak teknik pintar untuk menarik sinyal yang sangat redup dari banyak kebisingan.

" Komunikasi melalui Jack Audio untuk ponsel Android"

Membaca suara di Android: a b c

"Perangkat lunak Zoosh Narrate memanfaatkan speaker dan mikrofon ponsel pintar untuk memungkinkan komunikasi data yang sama antara perangkat yang disediakan NFC saat ini, tetapi dengan frekuensi ultrasonik yang tidak terdengar oleh manusia." - Eweek , Slashdot .

David Cary
sumber