Android แบบเรียลไทม์หลายคนผ่าน LAN [ปิด]


9

ฉันได้พัฒนาหลายเกมสำหรับแพลตฟอร์ม Android และตอนนี้วางแผนที่จะสร้างเกมผู้เล่นหลายคนคนแรกของฉัน สิ่งที่ฉันมีอยู่ในใจเป็นเพียงแค่เกมแม่มดสำหรับผู้เล่น 2 คนคุณสามารถเล่นกับโทรศัพท์ 2 เครื่องผ่านการเชื่อมต่อในพื้นที่ / WiFi

โทรศัพท์ทั้งสองเครื่องจะต้องสามารถส่งค่าจำนวนเต็ม 3 ค่าไปยังโทรศัพท์อีกเครื่องได้แบบเรียลไทม์ จนถึงตอนนี้ฉันได้พิจารณาใช้ซ็อกเก็ต แต่ก่อนที่ฉันจะเจาะลึกเกินไปฉันต้องการถามว่าอาจมีวิธีการที่ดีกว่านี้หรือไม่?

ขอบคุณ!


3
วิธีที่ดีกว่าซ็อกเก็ต ... ไม่แน่ใจ อย่างไรก็ตามคุณไม่จำเป็นต้องใช้ซ็อกเก็ตดิบเนื่องจากมีไลบรารีที่มีอยู่แล้วทำเพื่อคุณ ฉันสมมติว่าคุณกำลังพัฒนาบนแพลตฟอร์ม Android ด้วย Java (คุณไม่ได้ติดแท็กเป็น java) ดังนั้นคุณสามารถดู Kryonet ได้
ธาน

ถูกต้องฉันพัฒนาด้วยจาวา ฉันจะตรวจสอบ Kryonet ขอบคุณสำหรับความคิดเห็น
Heigo

หากคุณผ่านค่าสองสามครั้งเท่านั้นคุณอาจต้องการพิจารณาบลูทู ธ นี่คือการอ้างอิงที่ดีสองสามรายการ: developer.android.com/guide/topics/connectivity/bluetooth.htmlและstackoverflow.com/questions/5619850/…
amb

ฉันอาจจะพิจารณาการใช้บลูทู ธ ในการพัฒนาต่อไป แต่ในตอนนี้ฉันรู้ว่าผู้คนคุ้นเคยกับ WiFi มากกว่า
Heigo

1
ขณะนี้ฉันกำลังเริ่มสร้างเกมแบบผู้เล่นหลายคนด้วยและฉันคิดว่าจะมีแบ็กเอนด์บริการที่เหลือ (สำหรับการลงทะเบียนผู้เล่นการจับคู่และอื่น ๆ ) และเซิร์ฟเวอร์เกมตามซ็อกเก็ต TCP เมื่อการแข่งขันเกิดขึ้นและเกมเริ่มต้นขึ้นจริงส่วนที่เหลือจะส่งข้อความซ็อกเก็ตไปยังเซิร์ฟเวอร์และอินสแตนซ์ที่แท้จริงของเกมจะถูกสร้างขึ้น ลูกค้าจะได้รับ IP สำหรับเซิร์ฟเวอร์และสร้างการเชื่อมต่อโดยใช้ securitytoken ที่ให้บริการส่วนที่เหลือ เซิร์ฟเวอร์เกมจะตรวจสอบและจัดการส่วนที่เหลือ
โทมัส

คำตอบ:


-2

ตัวเลือกหนึ่งที่คุณอาจมองเป็นSocket.IO

ดูเหมือนจะมีการพูดคุยกันมากเกี่ยวกับ Socket.IO ที่ Stack Overflow รวมไปถึง:

อนิจจาฉันไม่สามารถหาวิธีรับอุปกรณ์ Android หนึ่งเครื่องเพื่อสื่อสารโดยตรงไปยังอุปกรณ์ Android อื่น ๆ ผ่าน Socket.IO หรือแม้แต่ขั้นตอนเดียวโดยอ้อมด้วยการพูดคุยกับจุดเชื่อมต่อ WiFi จุดเดียวระหว่างพวกเขา (ฉันยังไม่รู้ว่าเป็นข้อผิดพลาดในรหัสของฉันไฟร์วอลล์บางประเภทในรหัสของผู้อื่นหรือข้อ จำกัด โดยธรรมชาติของ Socket.IO) ฉันได้รับการสาธิตเล็ก ๆ น้อย ๆ ที่ทำงานกับอุปกรณ์ Android หนึ่งส่งข้อความไปยังเว็บเซิร์ฟเวอร์ซึ่งส่งต่อข้อความไปยังอุปกรณ์ Android อื่น ๆ


ในฐานะที่เป็นปลั๊กอินสำหรับซ็อกเก็ตเซิร์ฟเวอร์ Node.js อาจเกี่ยวข้องกับคำถามเกี่ยวกับผู้เล่นหลายคนแบบเรียลไทม์ในเกมเบราว์เซอร์ อย่างไรก็ตามในบริบทปัจจุบันของจาวาและแอนดรอยด์การกล่าวถึงนั้นทำหน้าที่เฉพาะเพื่อทำให้เข้าใจผิด
Eric

ฉันมีการสาธิตเล็ก ๆ น้อย ๆ กับแอพ Android ที่กำหนดเองโดยใช้ Socket.IO เพื่อ (ทางอ้อม) สื่อสารกับแอปที่กำหนดเองอื่นบนอุปกรณ์ Android อื่นผ่านเซิร์ฟเวอร์ Node.js มันเป็น "งาน" มากกว่าหรือน้อยกว่า แต่ถ้าคุณรู้วิธีที่ดีกว่าโดยเฉพาะที่มีการสื่อสารโดยตรงมากขึ้นฉัน (และฉันแน่ใจว่าโปสเตอร์ดั้งเดิม) อยากรู้เกี่ยวกับมัน - โปรดบอกเรา
David Cary

-2

คุณพูดว่าอุปกรณ์ทั้งสองอยู่ในห้องเดียวกันหรือไม่?

อุปกรณ์ Android แต่ละตัวมีลำโพงและไมโครโฟน โดยหลักการแล้วเป็นไปได้ที่แอปหนึ่งจะส่งชุดเสียงออกทางลำโพงและจากนั้นอีกแอปหนึ่งจะฟังเสียงและถอดรหัสให้กลับเป็นสตริงข้อความ คุณสามารถ (a) ใช้สเปกตรัมเสียงทั้งหมดเพื่อส่งข้อมูลบางอย่างเช่นอะคูสติกคัปเปลอร์ของยุค 60 และ 70 หรือ (b) ใช้แบนด์วิดท์แคบลงมากตั้งแต่ 15 KHz ไปจนถึงสูงสุดที่อุปกรณ์ของคุณรองรับ (อาจ 24 KHz) - - ไปป์ Data ที่ช้ากว่ามาก แต่คนส่วนใหญ่ไม่สามารถได้ยินความถี่เหล่านั้นอีกต่อไป - มันล้ำเสียงสำหรับพวกเขา

ผู้ให้บริการวิทยุแฮมได้พัฒนาเทคนิคที่ชาญฉลาดมากมายสำหรับดึงสัญญาณจาง ๆ ออกมาจากเสียงรบกวนมาก

" การสื่อสารผ่าน Audio Jackสำหรับโทรศัพท์ Android"

อ่านเสียงบน Android: a b c

"ซอฟท์แวร์ Zoosh ของ Narrate ใช้ประโยชน์จากลำโพงและไมโครโฟนของสมาร์ทโฟนเพื่อเปิดใช้งานการสื่อสารข้อมูลระหว่างอุปกรณ์ที่มีอยู่ในปัจจุบันของ NFC แต่มีความถี่คลื่นเสียงความถี่สูงที่ไม่ได้ยินเสียงมนุษย์" - Eweek , Slashdot

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.