0

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

服务器.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()

客户端.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()
4

3 回答 3

1

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

于 2011-12-09T15:24:05.800 回答
0

代码正常工作。

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

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

于 2011-12-09T15:08:57.390 回答
0

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

于 2011-12-09T12:29:07.667 回答