Я написал сервер на основе TCP с модулем Twisted.Internet. Это среда с высокой степенью параллелизма.
Я обычно отправляю данные экземпляром protocol.Protocol, и у меня возникла проблема с этим. Некоторые tcp-соединения могут быть закрыты из-за тайм-аута, и, похоже, я не могу получить уведомление, так что данные, которые я записал в закрытом соединении, могут быть потеряны.
И проблема потери данных может быть вызвана каким-то другим образом.
Есть ли хороший способ контролировать это? (socket.send может возвращать состояние, у transport.write, похоже, нет возврата)