通过LAN的​​Android实时多人游戏


9

我已经为Android平台开发了几款游戏,现在计划创建自己的第一款多人游戏。我想到的基本上是一个2人游戏女巫,您可以通过本地连接/ WiFi用2个电话玩游戏。

两部电话都需要能够将3个整数值实时传递给另一部电话。到目前为止,我已经考虑过使用Socket,但是在我深入研究它之前,我想问一下是否有更好的方法?

谢谢!


3
比套接字更好的方法...不确定。但是,您不需要使用原始套接字,因为已经存在的库可以为您使用原始套接字。我假设您正在使用Java在Android平台上进行开发(您未标记为Java),因此可以看一下Kryonet。
森2012年

没错,我正在使用Java开发。我将研究Kryonet。感谢您的评论。
Heigo 2012年

如果您仅传递几个值,则可能需要考虑蓝牙。这里有一些很好的参考: developer.android.com/guide/topics/connectivity/bluetooth.htmlstackoverflow.com/questions/5619850/…
AMB

我可能还会考虑在进一步的开发中使用蓝牙,但是目前,我觉得人们对WiFi更加熟悉。
Heigo 2012年

1
我目前也正在开始创建多人游戏,并且我正在考虑拥有一个休息服务后端(用于玩家注册,配对等)和一个基于tcp套接字的游戏服务器。进行比赛并真正开始游戏后,其余服务将向服务器发送套接字消息,然后将创建游戏的实际实例(以使事物具有可伸缩性)。客户端获取服务器的ip,并使用rest服务提供的securitytoken创建连接。游戏服务器验证并完成其余的工作。
Thomas

Answers:


-2

您可能会看到的一种选择是Socket.IO

在Stack Overflow上似乎对Socket.IO进行了很多讨论,包括:

las,我无法弄清楚如何使一个Android设备通过Socket.IO直接与另一Android设备通信,或者甚至一步步地完成两者之间与单个WiFi接入点的通信。(我仍然不知道那是我的代码中的错误,别人的代码中的某种防火墙还是Socket.IO的固有限制)。我确实得到了一个使用一个Android设备将消息发送到Web服务器的演示,该Web服务器将消息转发到另一个Android设备。


作为Node.js服务器的插件,Socket.IO可能与浏览器游戏中的实时多人游戏有关。但是,在Javaandroid的当前上下文中,其提及仅是误导。
埃里克

我有一个使用Socket.IO的自定义Android应用的小演示,它通过Node.js服务器(间接)与另一台Android设备上的另一个自定义应用进行通信。它或多或少是“有效的”,但是,如果您知道一种更好的方法,尤其是与人们进行更直接沟通的方法,我(我敢肯定原始海报的作者)想知道它-请告诉我们。
大卫·卡里

-2

您是说两个设备都在同一个房间吗?

每个Android设备都有一个扬声器和一个麦克风。原则上,一个应用程序可以向扬声器发送一系列音调,然后另一个应用程序可以侦听这些音调并将其解码回消息字符串。您可以(a)使用整个音频频谱来发送数据,例如60和70年代的声耦合器,或者(b)使用从15 KHz到设备支持的最高带宽(可能为24 KHz)的窄得多的带宽- -数据管道速度慢得多,但是大多数人再也听不到这些频率了-它是超声波。

业余无线电运营商已经开发出许多巧妙的技术,可以将非常微弱的信号从大量噪声中消除。

通过 Android手机的音频插孔进行通信

在Android上阅读声音:a b c

“ Narrate的Zoosh软件利用智能手机的扬声器和麦克风来实现当今NFC提供的设备之间相同的数据通信,但是人类无法听到超声波频率。” - Eweek的Slashdot的

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.