LAN üzerinden Android gerçek zamanlı çok oyunculu [kapalı]


9

Android platformu için birkaç oyun geliştirdim ve şimdi ilk çok oyunculu oyunumu oluşturmayı planlıyorum. Aklımda sadece 2 alanlı bir oyun cadı yerel telefon bağlantısı / WiFi üzerinden 2 telefon ile oynayabilirsiniz.

Her iki telefonun da gerçek zamanlı olarak 3 tamsayı diğer telefona aktarabilmesi gerekir. Şimdiye kadar Socket'leri kullanmayı düşündüm, ama çok derinlere inmeden önce daha iyi bir yaklaşım olup olmadığını sormak istedim?

Teşekkürler!


3
Soketten daha iyi bir yaklaşım ... emin değilim. Ancak, zaten var olan kütüphaneler sizin için yaptığı için ham soket kullanmanıza gerek yoktur. Kryonet'e bakabilmeniz için Java ile android platformunda (java olarak etiketlenmediniz) geliştirdiğinizi varsayıyorum.
nathan

Doğru, java ile gelişiyorum. Kryonet'e bakacağım. Yorum için teşekkürler.
Heigo

Yalnızca birkaç değer veriyorsanız, Bluetooth'u düşünebilirsiniz. İşte birkaç iyi referans: geliştirici.android.com/
amb

Bluetooth'u daha da geliştirmede kullanmayı düşünebilirim, ancak şu anda insanların WiFi'ye daha aşina olduğu şey.
Heigo

1
Şu anda çok oyunculu bir oyun oluşturmaya başladım ve dinlenme servisi arka ucuna (oyuncu kaydı, eşleştirme vb.) Ve tcp soketlerine dayanan bir oyun sunucusuna sahip olmayı düşünüyorum. Maç yapıldığında ve oyun gerçekten başladığında, geri kalan servis sunucuya bir soket mesajı gönderecek ve oyunun gerçek örneği oluşturulacaktır (işleri ölçeklenebilir hale getirmek için). İstemciler sunucu için ip alır ve geri kalan hizmet tarafından sağlanan bir güvenlik belirteci kullanarak bir bağlantı oluşturur. Oyun sunucusu doğrular ve gerisini yapar.
Thomas

Yanıtlar:


-2

Bakabileceğiniz seçeneklerden biri Socket.IO .

Stack Overflow'da Socket.IO hakkında çok fazla tartışma var gibi görünüyor:

Ne yazık ki, bir Android cihazının Socket.IO aracılığıyla başka bir Android cihazla doğrudan iletişim kurmasını nasıl sağlayacağımı, hatta ikisi arasında aralarındaki tek bir WiFi erişim noktasıyla konuşurken dolaylı bir adım atmayı anlayamadım. (Hala kodumda bir hata, başka birinin kodunda bir çeşit güvenlik duvarı mı, yoksa Socket.IO'nun doğal bir sınırlaması mı olduğunu bilmiyorum). Bir Android cihazla çalışan bir web sunucusuna mesaj gönderen bir küçük demo aldım, bu da mesajı diğer Android cihaza yönlendirdi.


Bir Node.js sunucusu için bir eklenti olarak Socket.IO, bir tarayıcı oyununda gerçek zamanlı çok oyunculu hakkında bir soru ile ilgili olabilir. Bununla birlikte, java ve android'in mevcut bağlamında , sözü sadece yanıltıcıdır.
Eric

Bir Node.js sunucusu aracılığıyla başka bir Android cihazdaki (dolaylı olarak) başka bir özel uygulama ile iletişim kurmak için Socket.IO kullanan bir özel Android uygulamasıyla küçük bir demo var. Daha çok veya daha az "işe yarar", ancak daha iyi bir yaklaşım, özellikle daha doğrudan iletişime sahip bir yaklaşım biliyorsanız, ben (ve orijinal posterden eminim) bunu bilmek istiyorum - lütfen bize bildirin.
David Cary

-2

Her iki cihazın da aynı odada olduğunu mu söylediniz?

Her Android cihazında bir hoparlör ve bir mikrofon bulunur. Prensip olarak, bir uygulamanın hoparlörden bir dizi ton göndermesi ve daha sonra diğer uygulamanın sesleri dinlemesi ve bunları bir mesaj dizesine geri çözmesi mümkündür. (A) 60'lı ve 70'li yılların akustik bağlayıcıları gibi bir şey göndermek için tüm ses spektrumunu kullanabilir veya (b) 15 KHz'den cihazınızın desteklediği en yüksek seviyeye (muhtemelen 24 KHz) çok daha dar bir bant genişliği kullanabilirsiniz - - çok daha yavaş bir veri hattı, ancak çoğu insan bu frekansları artık duyamıyor - onlar için ultrasonik.

Jambon telsiz operatörleri, aşırı zayıf sinyalleri çok fazla gürültüden çekmek için birçok akıllı teknik geliştirdiler.

" Android telefonlar için Audio Jack üzerinden iletişim "

Android'de ses okuma: a b c

"Narrate'nin Zoosh yazılımı, günümüz NFC'nin sağladığı cihazlar arasında aynı veri iletişimini sağlamak için akıllı telefon hoparlörlerini ve mikrofonlarını kullanıyor, ancak insanlar için duyulamayan ultrasonik frekanslarla." - Eweek , Slashdot .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.