Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带Socket编程的Android多人游戏_Android_Communication_Multiplayer - Fatal编程技术网

带Socket编程的Android多人游戏

带Socket编程的Android多人游戏,android,communication,multiplayer,Android,Communication,Multiplayer,我一直在寻找是否有可能通过WiFi在android平台上开发一款带有socket编程的多人游戏,但我没有找到确切的答案 我发现,android sdk中有ServerSocket和Socket类 我可以使用它们通过WiFi在两台设备之间建立通信吗 另外,如果我能以某种方式连接两台设备,我应该如何将其与我的游戏架构结合起来 任何建议都将不胜感激。这是我第一次尝试Android和Socket编程。我听说了Skiller、WiFi Direct和其他一些东西,但这必须通过插座来完成。我实际上来自Ski

我一直在寻找是否有可能通过WiFi在android平台上开发一款带有socket编程的多人游戏,但我没有找到确切的答案

我发现,android sdk中有ServerSocket和Socket类

我可以使用它们通过WiFi在两台设备之间建立通信吗

另外,如果我能以某种方式连接两台设备,我应该如何将其与我的游戏架构结合起来


任何建议都将不胜感激。这是我第一次尝试Android和Socket编程。我听说了Skiller、WiFi Direct和其他一些东西,但这必须通过插座来完成。

我实际上来自Skiller,我将尝试至少解决您的一些问题:

  • 为什么游戏需要插座?如果你能解释清楚你到底想达到什么目的,这会有很大帮助。也许还有其他不那么复杂的方法可以实现同样的目标。将通信解决方案与游戏逻辑集成直接依赖于此

  • 直接连接两台设备,无论是使用wifi还是3G连接,都是一项非常复杂的任务。为了做到这一点,您需要了解设备的ip,这从困难(wifi-取决于您连接的wifi)到几乎不可能(3g-您无法在运营商代理后看到设备的ip),除非您实施两种不同的技术或使用中间服务器来完成这项工作。由于硬件资源和最重要的时间资源,这些解决方案当然会花费您的成本。根据我在该领域的经验,如果现有解决方案符合您的需要,我强烈建议使用它(我真的在努力做到客观;)

希望它有助于进一步调查您的游戏需要什么。如果您想查看Skiller SDK,我们非常欢迎您在我们的wiki中查看:或发送电子邮件至developers@skiller-games.com


Michael

你好,Micheal,在我研究如何正确解决我的问题时,我也遇到了Skiller。正如您指出的事实,在这样一个项目中,使用类似Skiller的系统可能会更好。因此,我在未来的项目中会记住这一点,但对于这一个项目,它必须使用套接字来完成,因为这是一个学校项目,我们的讲师希望这样做谢谢你的回答在这种情况下,我建议你坚持讲师所说的;)另外,我建议您做一个特定且有限的例子,两台设备通过WIFI和已知IP连接。此外,您还可以选中将其中一个设备配置为服务器的选项。祝项目顺利!