2012-06-10 113 views
3

我开发了一个使用Eclipse的Java服务器,它接受来自android客户端的TCP套接字连接,执行一些计算,并使用此套接字将结果返回给android手机。我在Wi-Fi上试了一下。亚马逊EC2服务器TCP套接字连接

我现在想把Java服务器移到云端 - 基本上是亚马逊EC2。这可能吗?我只是使用一个简单的TCP套接字连接。我查了一下,找不到一个例子,但遇到了“弹性豆秆”。任何帮助表示赞赏,也许这样的例子链接或教程。

我可以将我的Java项目转换为.war并使用它,或者我可以在云上安装eclipse并运行它,因为我在本地执行它?

回答

11

这绝对有可能。除非你愿意,否则你不必将项目转换为.war。 所有你需要做的是:

  • 选择亚马逊映像(AMI)要使用 - 亚马逊的Linux是一个良好的开端,但也有很多其他选择,包括Ubuntu和Windows。

  • 设置安全组 - 您需要为服务器的端口号设置传入规则。从Amazon基于Web的控制台执行此操作非常简单。

  • 启动一台机器并将其分配给您创建的安全组。再次,这是从亚马逊的Web控制台轻松完成的。

机器启动后,登录(使用ssh for Linux或Remote Desktop for windows)并安装服务器。

有几件事情要记住:

  • 既然你现在在公共服务器上运行,迟早你的服务器会受到攻击。每个人都受到攻击。如果您打开的只是您的单个应用程序端口,请确保它是安全的。

  • 亚马逊服务器具有私有和公有IP。您的客户端应用程序将连接到公共IP。

  • 服务器可能会失败,新的服务器会获得新的公有IP地址!你需要为此做好准备。要么让客户端中的IP可配置,要么查看诸如Amazon弹性IP或动态DNS之类的东西。

+0

谢谢巴拉克。我已经完成了这一步,并将我的服务器转换为.jar文件。我问是否可以在服务器上下载eclipse,但没有必要。我正在本地开发它并转换为.jar文件。在客户端,我更改为公共IP地址。所以我希望我们的回复能帮助像我这样的新人。 – Adroidist

+0

谢谢,只是忘了打开我的端口。 – Siddharth