我有一个移动多人游戏,它使用 AIR serverSocket 类连接到设置为 wifi 热点的笔记本电脑上的 AIR 服务器应用程序。
要求已经改变,现在服务器必须是远程的并且可以通过网络访问。
因此,最终用户通过 wifi 连接到网络并远程访问服务器。由于通信全部采用 TCPIP,因此我认为这不会带来任何问题,只需将服务器配置为通过静态 IP 即可使用。
有人能告诉我 a) 在上述情况下如何为服务器设置静态 IP?
b)如何轻松测试,我是否可以简单地使用 MAMP 和本地服务器并运行我的 AIR 服务器应用程序?
答案1
这是一个相当复杂的过程,但让我详细说明一下
要通过互联网执行此操作,您需要
- 您需要注册一个域名
- 一旦您有了域名(mygame.com),您就需要获取一个网络主机。
- 在域名注册商的网站上,将有一个选项可以将您的域名指向他们的 DNS 服务器。
通过互联网进行(使用你的电脑作为家里的服务器)
- 你需要去https://www.google.com/search?q=whats+my+ip- 例如,它将显示 134.33.45.9,这是您的公共地址
- 记下您的连接的 IP 地址。
- 我假设您正在家庭网络中使用无线路由器
- 登录你的路由器
- 更改路由器配置以允许端口转发
- 端口转发将允许您的 PC 接受来自您指定的端口的连接 - 对于 Web 或 HTTP,它是端口 80
- 因此规则将如下所示,允许端口 80 HTTP 连接到(您的 PC 在内部网络上的 IP 地址通常为 192.168.xx)
- 要通过互联网测试此功能 - 使用您的笔记本电脑连接到
http://134.33.45.9:80 for example using the IP from above step 1
- 你应该看到你的 mamp 服务器
答案2
要获得静态 IP,您必须向您的 ISP(Internet 服务提供商)索取。一旦在他们那边设置好,您的路由器就会接收它,然后您只需将所需的端口转发到您的机器即可。请注意,您可以将路由器配置为将所有 Internet 流量仅传递到一台机器,这样就不需要端口转发,或者可以将其设置为将其传递到您的 LAN,您需要进行端口转发并修改服务器防火墙以允许传入流量到达特定端口。在 LAN 场景中,您需要修改路由器上的 DHCP 设置,为本地服务器保留一些私有 IP。
我会使用一些云服务器服务,比如亚马逊(AWS)上的服务,在那里你可以免费获得最多 5 个静态 IP,并使用多人游戏解决方案,例如http://www.electrotank.com/es5.html或者http://www.smartfoxserver.com/