Доброго времени суток!
Имеется 2 программы (клиент и сервер). Сервер я размещаю на хостинге Heroku и запускаю.
Код сервера:
import socket # Импорт
import asyncio
print(socket.gethostbyname_ex(socket.gethostname()))
ip = socket.gethostbyname(socket.gethostname())
port = 9091
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((ip, 9091))
server.listen(1)
conn, addr = server.accept()
print(f'Connected: {addr}')
print(f'Server has started on {ip}:{port}')
running = True
while running:
# Блок принятия данных
data = conn.recv(1024)
if data.decode("utf-8") == 'stop' or not data:
running = False
conn.send(data.decode("utf-8").upper().encode("utf-8"))
conn.close()
server.close()
print('Server has finished')
Код клиента:
import socket # Импорт
import asyncio
server_ip = input('Введите ip адрес сервера >>> ')
print('Client has started')
client = socket.socket()
client.connect((server_ip, 9091))
client.send('Connection!'.encode('utf-8'))
running = True
while running:
# Блок принятия данных
data = client.recv(1024)
if data == 'stop':
running = False
print(f'Message from server>>> {data.decode("utf-8")}')
# Блок отправки данных
message = input('Message to server>>> ')
if message == 'stop' or not message:
client.send('stop'.encode('utf-8'))
running = False
client.send(message.encode('utf-8'))
client.close()
print('Client has finished')
При попытке подключения к программе на Heroku с домашнего компьютера с помощью клиента выскакивает следующее исключение:
TimeoutError: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
Что касательно содержания файлов для деплоя на Heroku, то requirements пуст, т.к. ничего из сторонних библиотек не используется, а вот содержание Procfile:
worker: python server.py
Заранее благодарю