android游戏服务器无法使用kryonet+;LibGdx!!哈尔普

android游戏服务器无法使用kryonet+;LibGdx!!哈尔普,libgdx,kryonet,Libgdx,Kryonet,我目前正在开发一款android多人游戏(一对一格斗),使用libgdx图形api和kryonet api进行所有服务器-客户端联网。如果您可能不知道,libgdx是一个用于游戏开发的开源javaapi。Kryonet是一个独立的网络api,适用于游戏pc、android和linux。 到目前为止一切都很顺利,。。。制作一台服务器,2台客户端作为播放器 我试着在pc机上运行服务器和客户端。它起作用了。 然后我试着在pc上运行服务器,在android手机上运行播放器客户端。它起作用了 但是。。。当

我目前正在开发一款android多人游戏(一对一格斗),使用libgdx图形api和kryonet api进行所有服务器-客户端联网。如果您可能不知道,libgdx是一个用于游戏开发的开源javaapi。Kryonet是一个独立的网络api,适用于游戏pc、android和linux。 到目前为止一切都很顺利,。。。制作一台服务器,2台客户端作为播放器

我试着在pc机上运行服务器和客户端。它起作用了。 然后我试着在pc上运行服务器,在android手机上运行播放器客户端。它起作用了

但是。。。当我使用安卓手机作为服务器时,问题就出现了。我的客户端程序无法发现android服务器。我甚至确保使用whatsmyip.com上的手机ip。但我的android服务器仍然是隐形的。我确保使用internet权限正确设置清单


由于android手机的移动ip,它甚至可以作为服务器运行吗?我迫切需要使这项工作,这样就不需要一个中央服务器。玩家可以简单地以p2p方式玩游戏,其中一个玩家启动服务器,另一个玩家加入服务器玩家。

我也遇到过类似的问题。我假设你正在尝试使用移动网络连接。问题是你的手机可能在一组防火墙后面。我已经研究了可以用来克服这个问题的不同解决方案

问题是,您看到的外部ip地址作为您的手机ip地址不是“真实”地址。这是许多移动设备都要通过的网关。网关使用一种称为的技术来确定到达此IP地址的流量属于您的设备。网关接收到的任何它通常不希望忽略的流量。这篇文章很好地概述了这些问题

有很多方法可以解决这个问题,看看不同的方法(晕眩…)

我尝试了几种不同的方法来解决这个问题,但最后我不得不考虑使用中继服务器。我使用了一个Amazon Web服务(AWS),它提供了一个免费层,可以让你的应用程序启动并运行。这将是很好的让你开始,我一直在使用我的信息中继


希望这有帮助

哦,这是很好的信息。让我看看你提到的中继服务器。当我进入亚马逊网页服务时,我感到困惑。我在他们的页面中没有看到任何与中继服务器相关的术语。我是否只是下载他们的android sdk并在我的项目中实现?谢谢回复。嘿,AWS提供的是一个带有公共IP地址的免费linux机箱。你可以在上面运行任何你想要的东西。看一看这个()它是关于设置一个minecraft示例的,但是大多数步骤将与您的应用程序相同。它将是一个java应用程序。@joey.enfield我很想知道您使用AWS的中继服务器会得到什么样的延迟。你有没有调查过设备之间的往返时间?