服务器到amazon EC2实例与python实例通信?

时间:2011-12-09 09:30:48

标签: python amazon-ec2 tcp-ip server-to-server

我有这个。但它只适用于本地。我运行客户端时总是收到连接超时。 服务器上的端口对默认安全组开放。

server.py:

import SocketServer

class MyTCPHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        self.data = self.request.recv(1024).strip()
        print self.client_address
        print self.data
        self.request.send(self.data.upper())

if __name__ == "__main__":
    HOST, PORT = "", 9800
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
    server.serve_forever()

client.py:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto('Hello, world\n'('host.ip',  9800))
data = s.recv(1024)
s.close()

3 个答案:

答案 0 :(得分:1)

在客户端,您使用的是socket.SOCK_DGRAM UDP ,但您使用的是 TCP 服务器(可能是socket.SOCK_STREAM)。

答案 1 :(得分:0)

您似乎正在打开端口9800,但与端口9999交谈

答案 2 :(得分:0)

代码正常运行。

网络和安全标签内的AWS控制台中,选择安全组,然后在“入站”标签下的默认安全配置文件中,将您的端口添加到列表中。 ..

使用0.0.0.0/0来源将侦听所有端口。