如何访问连接到heroku的套接字服务器

时间:2020-01-24 12:29:25

标签: python sockets heroku

我创建了一个客户端脚本和一个服务器脚本,这些服务器脚本可以在服务器在计算机上运行时正常运行,但是我想将服务器托管在heroku上,我已经完成了所有设置,并将heroku应用程序运行,但是我无法将客户端连接到该服务器

server.py

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 5001))
s.listen(5)

client.py

import socket


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('applicationhere.herokuapp.com/0.0.0.0', 5001))

这样做会返回错误:

socket.gaierror: [Errno 11001] getaddrinfo failed

我对使用套接字不是很满意,所以我对问题所在感到困惑。

1 个答案:

答案 0 :(得分:0)

该错误表明主机名无法解析。 如果您将服务器套接字在所有IP地址上绑定为
server_socket.bind(('0.0.0.0', 5001))
那么您应该能够使用公共ip / DNS连接到服务器
client_socket.connect(('applicationhere.herokuapp.com', 5001))
很明显,客户端必须知道如何解析applicationhere.herokuapp.com,并且没有任何阻塞(例如防火墙)。