У меня есть идея для приложения, над которым я хотел бы поработать, чтобы немного узнать о Twisted и WebSockets. Я думал об интеграции ранее написанного IRC Bot в веб-приложение. Насколько я могу судить, мне понадобится три реактора, чтобы они работали:
- Первичный реактор: веб-сервер (HTTP). Это будет ваше среднее приложение twisted.web. Когда вы получаете доступ к нему, вы можете подключить IRC-сервер/канал к соединению. Затем веб-сервер будет разговаривать с другим реактором в другом потоке, который...
- Вторичный реактор: IRC Bot. Это будет IRC-бот, работающий через протокол Twisted IRC-клиента. Он присоединился бы к каналу, и всякий раз, когда что-то было сказано, он взял бы эти данные и подтолкнул их к еще одному реактору на еще одном потоке, который...
- Третичный реактор: WebSocket Server (WS): поскольку WebSockets не используют обычный HTTP-протокол, им нужен свой собственный сервер (или, похоже, он смотрит на такие примеры, как this. Когда бот IRC получает сообщение, он сообщает серверу WebSocket подключить это сообщение к подключенным клиентам.
В моем сознании это имеет смысл. Кажется, это было бы возможно. Есть ли у кого-нибудь примеры нескольких реакторов, работающих в отдельных потоках, или это то, что я себе представлял, чего нельзя сделать в текущем воплощении Twisted.
Существуют ли какие-либо изменения архитектуры, которые могут (или должны) быть сделаны, чтобы минимизировать количество реакторов и т.д.?
Спасибо за любую помощь.