Сокетное соединение не работает должным образом на Heroku
Я пытаюсь получить некоторые сообщения с сервера с помощью сокета в моем веб-приложении Django.
Это работает правильно в локальном режиме, но не работает, когда я развертываю его на Heroku.
Проблема, похоже, в том, что я не могу получить все ответы от сервера за адекватное время.
Procfile: web: gunicorn app.wsgi --log-file -
Клиентское соединение, которое я создал, имеет такую структуру.
def connection(self, hostname: str, port: int, messages: list) -> str:
s: socket.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock: ssl.SSLSocket = ssl.wrap_socket(s, cert_reqs=ssl.CERT_NONE, ssl_version=ssl.PROTOCOL_TLSv1_2)
sock.connect((hostname, port))
sock.settimeout(1)
for message in messages:
sock.sendall(message.encode())
data: str = ''
while True:
try:
# get response from server
resp = sock.recv(1024)
data += resp.decode("UTF-8")
if resp == b'':
data = None
break
except socket.timeout:
# expired time to receive data
break
# close connection
sock.close()
return data