使用Python套接字连接AWS EC2实例

苏汉·贾恩(Soham Jain)

Server.py(在我的AWS EC2实例上运行)

import socket

s = socket.socket()
host = socket.gethostbyaddr('aws.ec2.public.ip')[0]
port = 12345
s.bind((host, port))

s.listen(5)
while True:
   c, addr = s.accept()
   print('Got connection from', addr)
   c.send('Thank you for connecting'.encode())
   c.close()

Client.py(在我的本地PC上运行)

import socket

s = socket.socket()
host = socket.gethostbyaddr('aws.ec2.public.ip')[0]
port = 12345

s.connect((host, port))
print(s.recv(1024).decode())
s.close()

授予所有入站和出站TCP流量

服务器代码未显示错误。但是客户端代码说

Traceback (most recent call last):
  File "/Users/sohamjain/Desktop/client.py", line 7, in <module>
    s.connect((host, port))
TimeoutError: [Errno 60] Operation timed out
>>> 

通过rdp客户端连接到EC2实例非常正常

当我在本地主机上运行这两个脚本时,它们似乎工作正常。但是,如果使用AWS EC2实例,则不会。我哪里做错了?

乔安·都铎

我刚遇到您的情况:

正如克里斯·威廉姆斯(Chris Williams)在对您的问题的答复中提到的那样,在EC2实例上绑定侦听套接字时,不能使用公共IP地址。更改为使用私有IP,它应该可以工作。

另外,请确保为从AWS安全组绑定的端口启用流量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用cURL连接到AWS EC2实例

来自分类Dev

如何使用filezillla连接到AWS EC2实例?

来自分类Dev

使用Ansible连接到AWS EC2实例

来自分类Dev

无法连接到 EC2 实例

来自分类Dev

复制AWS EC2实例

来自分类Dev

PXE 从 AWS EC2 实例启动?

来自分类Dev

AWS EC2 Windows,预留实例

来自分类Dev

AWS SSM 检查 ec2 实例

来自分类Dev

使用名称启动EC2实例

来自分类Dev

使用Boto过滤EC2实例

来自分类Dev

使用Jenkins部署EC2实例

来自分类Dev

使用SSL移动EC2实例

来自分类Dev

如何与AWS上的EC2实例建立安全连接

来自分类Dev

无法通过腻子连接到AWS EC2实例

来自分类Dev

无法在AWS EC2实例中连接到Moquette

来自分类Dev

AWS通过FTP连接到Windows EC2实例

来自分类Dev

网络错误:AWS EC2 实例中的连接被拒绝

来自分类Dev

无法通过AWS EC2实例使用PHP连接到AWS MYSQL RDS实例

来自分类Dev

使用EC2实例创建AWS EC2自己的AMI时出错

来自分类Dev

使用AWS EC2 CLI检索EC2实例属性并展平输出

来自分类Dev

使用IAM用户SSH连接到Ec2实例

来自分类Dev

使用ssh连接到多个EC2实例

来自分类Dev

使用Vagrant和Puphpet设置AWS EC2实例

来自分类Dev

使用Ansible启动AWS EC2实例的最佳方法

来自分类Dev

无法使用公共IP ping AWS EC2实例

来自分类Dev

无法使用deltacloud启动AWS EC2实例

来自分类Dev

使用AWS凭证由Ansible创建EC2实例

来自分类Dev

与EC2断开连接时,在EC2实例上运行的进程停止

来自分类Dev

AWS EC2 CLI如何获取列表EC2实例-限制输出