Страницы

Поиск по вопросам

среда, 18 декабря 2019 г.

SocketIO_client не срабатывает метод disconnect() как обойти?

#python #python_3x #websocket #socketio_client


Возникли проблемы с увеличением соединений, посмотрел либу, нашел проблему с методом
disconnect() однако для меня данный патч не работает.

И вот я задался вопросом, как можно избавиться от своего рода замыканий в действующем
приложении, коннект происходит во время инициализации объекта:

>>> from socketIO_client import SocketIO
>>> s = SocketIO('127.0.0.1:8008')
DEBUG:socketIO-client:127.0.0.1:8008/socket.io [engine.io transport selected] websocket
DEBUG:socketIO-client:127.0.0.1:8008/socket.io [engine.io heartbeat reset]
>>> s



Соединение разрывается только после завершения приложения, которое в моем случае
может работать достаточно долго и порождать новые соединения, не хотелось бы использовать
одно подключение для разных клиентов.

Возможно кто-то сталкивался с подобными проблемами и есть способ прибить соединение
в действующем приложении, не хочется вешать собак на процессы...
    


Ответы

Ответ 1



В исходном коде зарегистрирован триггер на выход. Вам нужно всего лишь вызывать _close() у объекта SocketIO. Этот метод принадлежит родительском классу. Вы используете не лучшую библиотеку для работы с socketio. Я вам рекомендую miguelgrinberg - python-socketio

Комментариев нет:

Отправить комментарий