Как получить доступ к сокет-серверу, подключенному к героку - PullRequest
1 голос
/ 24 января 2020

Я создал клиентский скрипт и серверный скрипт, которые отлично работают, когда сервер запускается на моем компьютере, однако я бы хотел разместить сервер на 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 голосов
/ 26 января 2020

Ошибка указывает, что имя хоста не может быть разрешено. Если вы привязываете сокет сервера ко всем ip-адресам с помощью
server_socket.bind(('0.0.0.0', 5001))
, то вы сможете подключиться к серверу, используя публичные c ip / DNS
client_socket.connect(('applicationhere.herokuapp.com', 5001))
Очевидно, что клиент должен знать, как решить applicationhere.herokuapp.com, и ничто не блокирует соединение (например, брандмауэры).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...