Kode Java untuk gim client-server di Android

8

Saya telah mengembangkan game di Android. Sekarang saya ingin memainkannya di wifi atau 3G. Saya memiliki paket game yang ingin saya kirim form klien (seluler) ke server kemudian ke klien lain (seluler).

Saya tidak tahu bagaimana menulis kode di Jawa untuk mengirim playPackets terus menerus ke server dan menerima playPacket terus menerus dari server ke klien.

Saya kira saya harus menggunakan dua utas satu untuk mengirim dan satu utas untuk menerima.

Bisakah seseorang membantu saya dengan kode, atau prosedur untuk menulis kode untuk itu?

GameBuilder
sumber

Jawaban:

2

Ok mari kita mulai dari awal. Saya tidak tahu apa yang Anda lakukan dan bagaimana tetapi ketika melakukannya dengan jaringan Anda harus mencobanya dengan pola REACTOR .

Pada dasarnya reaktor adalah cara untuk menghindari penggunaan utas atau untuk mendefestasinya di mana tugas ulir lebih dipisahkan oleh inti.

Pusat reaktor adalah fungsi pilih : Anda mendaftarkan sumber acara Anda dan meminta pilih untuk kembali ketika sesuatu terjadi pada salah satu sumber tersebut .

Ketika sesuatu ditambahkan, loop utama reaktor hanya menemukan Apa yang ditambahkan ke Sumber apa yang bereaksi dengan membuat suatu Acara dan mengirimkan peristiwa ini ke objek yang tertarik pada peristiwa semacam itu.

Saya bukan Java Guru tetapi saya tahu bahwa Anda dapat mengatur soket (bahkan yang UDP) dan Anda dapat mengaturnya sebagai non-blocking. Sepanjang ini saya tahu ada kelas yang disebut Selector dalam paket yang disebut NIO. Barang-barang itu setuju untuk mendefinisikan fasilitas I / O multipleks, non-pemblokiran

Yang Anda butuhkan hanyalah mengatur dua saluran UDP: satu untuk mendengarkan server dan yang lainnya untuk berbicara di server; daftarkan orang yang mendengarkan ke reaktor dan mengintegrasikan langkah reaksi reaktor ke loop utama Anda.

Mempertimbangkan bahwa pendekatan semacam ini memungkinkan Anda untuk terhubung secara simultan dengan saluran yang berbeda sehingga Anda dapat mempertimbangkan untuk mengembangkan game peer-to-peer (tidak ada hambatan server dan desain yang terdistribusi ... kedengarannya bagus!)

PS

Harap dicatat bahwa jika Anda menggunakan semacam GUI Takeit / fasilitas, Anda mungkin sudah menggunakan Reactor ...

FxIII
sumber
1

Awal yang baik untuk pemrograman client-server adalah kryo net karena mudah dipelajari dan sering digunakan / disebut dalam pengembangan game java. Ini berbasis acara, jadi kamu tidak perlu utas di sini.

Roman K
sumber