У меня есть сервис, который использует блокирующий сокет для получения данных. У меня проблема в том, что я не знаю, как правильно закрыть сокет, если он все еще ждет данных. Ниже приведен краткий фрагмент того, как я открываю и жду данных: я не хочу реализовывать тайм-ауты, так как согласно документации на python сокет должен блокироваться для использования makefile
.
Возможно, я ошибаюсь, поскольку я новичок в программировании с использованием сокетов.
EDIT:
Следует отметить, что я не могу изменить работу сервера.
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
reader = s.makefile("rb")
line = reader.readline()