Java 客户端如何使用EC2连接到服务器

Java 客户端如何使用EC2连接到服务器,java,amazon-web-services,sockets,amazon-ec2,port,Java,Amazon Web Services,Sockets,Amazon Ec2,Port,我刚刚把我的套接字服务器放在AmazonEC2上,服务器已经启动并运行。服务器套接字的端口为ss=newserversocket(30001)。我应该将客户端类中的套接字端口设置为什么?它当前位于本地主机上套接字=新套接字(“localhost”,30001)亚马逊EC2地址是 ec2-user@ec2-34-253-76-28.eu-west-1.compute.amazonaws.com 我是否要用它替换本地主机?如果客户端是远程的(与服务器不在同一主机上),则可以使用主机的DNS名称或公共

我刚刚把我的套接字服务器放在AmazonEC2上,服务器已经启动并运行。服务器套接字的端口为
ss=newserversocket(30001)。我应该将客户端类中的套接字端口设置为什么?它当前位于本地主机上<代码>套接字=新套接字(“localhost”,30001)亚马逊EC2地址是
ec2-user@ec2-34-253-76-28.eu-west-1.compute.amazonaws.com
我是否要用它替换本地主机?

如果客户端是远程的(与服务器不在同一主机上),则可以使用主机的DNS名称或公共IP地址

您还必须允许到托管服务器应用程序的EC2实例的入站连接。确保端口30001已打开,可进入客户端的公共IP地址(或通过将0.0.0.0/0指示为源CIDR而进入世界)。您可以通过AWS进行此操作

如果您向世界公开服务器,那么您应该(至少)为您的客户机实现某种形式的身份验证

如果您的客户端无法连接,请检查以下几点:

  • 您的服务器套接字是否绑定到0.0.0.0(或与EC2实例关联的公共IP)
  • 你的服务器应用正在运行吗
  • netstat是否显示您的服务器应用程序正在端口30001上侦听
  • 您是否向EC2实例添加了安全组,并添加了允许从客户端IP(或世界)到端口30001的入站流量的入口规则
  • 客户端是否在阻止出站端口30001的网络(如公司)上运行

我已经为我的IP设置了入站规则。如何确保端口30001处于打开状态?那是左舷范围吗?我将IP套接字设置为:socket=newsocket(“ec2-34-253-76-28.eu-west-1.compute.amazonaws.com”,30001);然而,当我的ec2终端上运行服务器时,没有发生任何事情需要检查。您的服务器套接字是否绑定到0.0.0.0(或与EC2实例关联的公共IP)?您是否向EC2实例添加了安全组,并添加了允许从客户端IP(或世界)到端口30001的入站流量的入口规则?netstat是否显示您的应用程序正在该端口上侦听?天哪!你是传奇人物!!!!!!!!非常感谢你!!!!!太神了一个人怎么能像你这样有学问!作为一名理工科二年级学生,你让我惊讶!