我有这个。但它只适用于本地。我运行客户端时总是收到连接超时。 服务器上的端口对默认安全组开放。
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()
答案 0 :(得分:1)
在客户端,您使用的是socket.SOCK_DGRAM
UDP ,但您使用的是 TCP 服务器(可能是socket.SOCK_STREAM
)。
答案 1 :(得分:0)
您似乎正在打开端口9800,但与端口9999交谈
答案 2 :(得分:0)
代码正常运行。
在网络和安全标签内的AWS控制台中,选择安全组,然后在“入站”标签下的默认安全配置文件中,将您的端口添加到列表中。 ..
使用0.0.0.0/0
来源将侦听所有端口。