#python #sockets #twisted #reactor
#питон #сокеты #twisted #реактор
Вопрос:
Я пытаюсь написать TCP-сервер (на основе реактора), который работает следующим образом:
- Сервер принимает подключения
- Сервер получает от каждого соединения определенный идентификатор, который он сопоставляет непосредственно с FD соединения
- Сервер отслеживает (асинхронно) эти конкретные идентификаторы (это могут быть идентификаторы определенных файлов или записей в базе данных).
- При изменении определенного идентификатора сервер отправляет сообщение конкретному клиенту, которое сопоставляется с идентификатором
Я не видел ничего подобного в twisted. Каждое соединение в twisted напрямую вызывает «protocol.DataReceived (data)» без упоминания FD, поэтому он не знает, из какого сокета были получены данные.
Теперь я, вероятно, что-то упускаю, поэтому вопрос в том,
есть ли способ написать это чисто, используя Twisted? Написание поведения сервера на основе FDS? и если twisted не обладает такой функциональностью, что вы предлагаете использовать?