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

Python 如何访问连接到heroku的套接字服务器,python,sockets,heroku,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 soc

我已经创建了一个客户端脚本和一个服务器脚本,当服务器在我的计算机上运行时,它们可以正常工作,但是我想在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

我不太擅长使用套接字,因此我对问题所在感到困惑。

错误表明主机名无法解决。 如果将所有ip地址上的服务器套接字绑定为
server\u socket.bind(('0.0.0.0',5001))


然后,您应该能够使用公共ip/DNS连接到服务器
客户端\u socket.connect(('applicationhere.herokapp.com',5001))

显然,客户端必须知道如何解析
applicationhere.herokapp.com
,并且没有任何东西阻止连接(例如防火墙).

此错误表示无法解析主机名。 如果将所有ip地址上的服务器套接字绑定为
server\u socket.bind(('0.0.0.0',5001))


然后,您应该能够使用公共ip/DNS连接到服务器
客户端\u socket.connect(('applicationhere.herokapp.com',5001))

显然,客户端必须知道如何解析
applicationhere.herokapp.com
,并且没有任何东西阻止连接(例如防火墙).

'applicationhere.herokuapp.com/0.0.0'
不是有效的主机名。如果主机名是
applicationhere.herokuapp.com
,请尝试使用
s.connect(('applicationhere.herokuapp.com',5001))
“applicationhere.herokuapp.com/0.0.0”不是有效的主机名。如果主机名为
applicationhere.herokuapp.com
,请尝试使用
s.connect(('applicationhere.herokuapp.com',5001))
我遇到以下错误:由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机没有响应,建立的连接失败“您可以检查一些东西,但根据客户端网络的不同,这看起来确实像是一个网络问题。如果telnet或nc测试失败,则套接字连接也无法工作
telnet applicationhere.herokuapp.com 5001
nc-zv applicationhere.herokuapp.com 5001
我遇到以下错误:“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接主机没有响应”您可以检查一些东西,但根据客户端网络的不同,它看起来确实像是一个网络问题。如果telnet或nc测试失败,则套接字连接也无法工作
telnet applicationhere.herokuapp.com 5001
nc-zv applicationhere.herokuapp.com 5001