服务器到AmazonEC2实例与python的通信?

服务器到AmazonEC2实例与python的通信?,python,amazon-ec2,tcp-ip,server-to-server,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

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

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()

看起来您正在打开端口9800,但与端口9999通话时,代码工作正常

在AWS控制台的“网络和安全”选项卡内选择“安全组”,并在“入站”选项卡下的默认安全配置文件内-将您的端口添加到列表中


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

在客户端上,您使用的是
socket.SOCK\u DGRAM
,它是UDP,但您使用的是TCP服务器(它将是
socket.SOCK\u流

非常正确-我错误地写下了我的示例。非常抱歉,我已经更正了。