Я пытаюсь запрограммировать небольшое приложение для чата с Flutter и Python. Сервер написан с помощью asyncio на Python:
loop = asyncio.get_event_loop()
servlet = loop.create_server(SocketConnection, port=socket_port, ssl=sc)
server = loop.run_until_complete(servlet)
loop.run_forever()
Класс SocketConnection выглядит следующим образом:
class SocketConnection(asyncio.Protocol):
[...]
# Send a Failure Message
def action_failed(self, message):
print("action_failed")
pass
# Defines what happens when a new Connection is made
def connection_made(self, transport):
print("new connection")
# Defines what happens if data is received from the Client
def data_received(self, data):
print("received data")
# Defines what happens when the Connection to the Client is lost
def connection_lost(self, ex):
print("connection lost!")
# Disconnect the Client on Purpose
def disconnect(self):
print("disconnected")
Приложение Flutter подключается к серверу и может передавать данные. Если я закрываю приложение, вызывается метод disconnect
внутри класса SocketConnection
, так что этот случай прост в обращении.
Теперь я хочу убедиться, что сервер также замечает, когда подключенный клиент теряет свое интернет-соединение. Я ожидал, что в этом случае вызывается функция connection_lost
, но я не вижу никаких отпечатков внутри терминала.
Заранее благодарю за помощь!