小编Soh*_*ain的帖子

使用Python Socket连接AWS EC2实例

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()
Run Code Online (Sandbox Code Playgroud)

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

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()
Run Code Online (Sandbox Code Playgroud)

授予所有入站和出站 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
>>> 
Run Code Online (Sandbox Code Playgroud)

通过rdp客户端连接到EC2实例完美

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

python sockets tcp amazon-ec2 amazon-web-services

5
推荐指数
1
解决办法
3459
查看次数

标签 统计

amazon-ec2 ×1

amazon-web-services ×1

python ×1

sockets ×1

tcp ×1