【问题标题】:Server to amazon EC2 instance communication with python?服务器到亚马逊 EC2 实例与 python 的通信?
【发布时间】:2012-01-16 15:02:56
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      看起来您正在打开端口 9800 但正在与端口 9999 通信

      【讨论】:

      • 非常正确 - 我错误地写下了我的示例。非常抱歉,我已经更正了。
      【解决方案3】:

      代码运行正常。

      在 AWS 控制台的 Networking and Security 选项卡中选择 Security Groups 并在“入站”选项卡下的默认安全配置文件中 - 将您的端口添加到列表中。 ..

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

      【讨论】:

        猜你喜欢
        • 2013-09-28
        • 2010-12-28
        • 2011-07-17
        • 1970-01-01
        • 1970-01-01
        • 2014-10-08
        • 2014-03-30
        • 2020-05-12
        • 2016-04-27
        相关资源
        最近更新 更多