2013-08-26 20 views
0

我正在制作android游戏和我自己的JAVA服务器。我想在自己的计算机上运行该服务器。我不需要在其他任何地方运行它,所以我真的不需要其他解决方案(付费主机等)。我需要一个静态IP访问我的电脑。目前即时通讯使用no-ip.com来做到这一点,但我无法访问收到的数据。 我的服务器上即时通讯监听使用DatagramSocket.receive()特定的端口上,而在另一侧即时通讯将数据发送到:在我自己的电脑上托管Java服务器,使用“no-ip”进行静态访问

InetAddress.getByName(HostName.no-ip.biz):port(the port my server is listening to) 

我可以看到,即时通讯将数据发送到正确的地址(地址相同DUC是显示我),但服务器不捕获该数据。

如果任何人有使用no-ip.com获得静态IP的一些经验,请帮助。

P.S. 目前我可以通过iPhone绑定上网,所以没有真正的路由器可能是背后的原因。我已经读过,我不需要在手机上进行端口转发,因为我的ISP正在为我做NAT。任何解决方法?

它只是在我的电脑上安装DUC足以使用no-ip?

任何更简单(免费)的方式来获得静态IP?

+0

Arent你能够设置自己的静态IP地址,当你连接到你的iPhone设备? 如果您使用iphone作为无线接入点,并且您已连接到该无线接入点,则应该能够为您的连接设置您的静态IP地址(假设您使用IPv4)您的IPv4设置。 –

+0

我目前正在使用iPhone,因为我不在城里。我会在几天后回到古典路由器上......我真的需要一个可以在任何地方工作的解决方案(这样我就可以在必要时将整个笔记本电脑放在另一个地方,或者在不同的电脑上安装服务器并获得相同的结果)... – klo

回答

0

这对我来说似乎是一个端口转发问题。

No-IP会为您解析iPhone的外部IP地址,因此您的数据包将到达那里。 iPhone不知道如何处理它们。您需要将它们从您的iPhone转发到本地PC的IP地址,但我不知道这是否可能。

在家里使用路由器时,端口转发应该没有问题。

+0

不是所有的港口都应该开放吗? – klo

+0

问题是,由于您通过iPhone访问互联网,因此您的本地IP地址被伪装,因此互联网上的每个人都只能看到您的iPhone的外部IP地址,并且所有请求都会到达那里。 当你的iPhone收到来自游戏客户端的请求时,它只会丢弃它,因为它不知道它应该将它转发给你的服务器。 – jwinkler

相关问题