Удаление клиентов из реактора в Twisted - PullRequest
1 голос
/ 10 ноября 2010

У меня есть простой TCP-клиент, который подключен к витой используя:

reactor.connectTCP(host, port, SomeClientFactory())

Программа может получить сигнал HUP для запуска перезагрузки. Я хотел бы в основном:

  1. Удалить старых клиентов
  2. Обновить конфигурацию
  3. Создание новых клиентов на основе новой конфигурации

Однако я не могу найти способ достичь первого из этих пунктов. Любые советы?

Спасибо

1 Ответ

2 голосов
/ 10 ноября 2010

IReactorTCP.connectTCP возвращает поставщика IConnector.Как вы можете видеть из определения интерфейса IConnector , метод disconnect будет делать то, что вы хотите.Конечно, вы также можете использовать метод loseConnection транспортного атрибута экземпляра протокола.Последнее было бы более подходящим, если есть какая-либо очистка, которую вы хотите сделать протоколом перед фактическим отключением, так как вы можете поместить эту работу и вызов lostConnection в конце метода, такого как shutdown или quit или cleanup в классе протокола, а затем просто позвоните.

...