Сборка комет-сервера из твиста.веб для сайта скрученный.веб

Итак, у меня уже есть веб-сайт, и мне нужен сервер кометы для приложения чата. Сайт создан на основе файла twisted.web, и я хочу создать сервер кометы также на основе файла twisted, так как я уже немного с ним знаком.

Но я не знаю, как это сделать. Я просмотрел этот пост. и понять механику во фрагменте кода -- но я попробовал, и страница загружается ВЕЧНОСТЬЮ, и когда это происходит, она уже заполнена временами, а затем продолжает добавлять их.

Мое представление о том, как это будет работать, заключается в том, что я бы запускал этот процесс как отдельный процесс, а затем запускал бы свой искривленный сайт на другом. Страница на искаженном сайте будет иметь ajax-вызов серверу кометы, который будет ждать ответа. Но потребуется ли время, чтобы этот ответ вернулся, как это произошло при загрузке страницы?

И как серверу кометы лучше всего получать данные с сервера веб-сайта? Это не будет просто опрос веб-сайта, или у меня может не быть комет-сервера — могу ли я просто добавить бесконечный цикл в обработчик GET для комет-сервера, и веб-сайт вызовет его и прервет? Как сервер кометы и веб-сайт будут обмениваться данными? Например, откуда серверу кометы знать что-либо о данных сеанса пользователя — кто они, чего ждут, что он может им отправить?

Кроме того, я не уверен в этом, но нужно ли мне включать потоки в сервер кометы, или он уже многопоточный?


person Carson Myers    schedule 07.08.2010    source источник


Ответы (1)


Вы можете использовать Orbited (кометный сервер, основанный на Twisted) и запускать его в том же процессе, что и ваш веб-сервер. Это довольно гладко. Вместо того, чтобы использовать его встроенный прокси, вы просто используете его кишки напрямую. Вы бы сделали что-то вроде:

from orbited.cometsession import Port
...
reactor.listenWith(Port, factory=someFactoryYouWrote, resource=someResourceYouWrote, childName='tcp')
person jpsimons    schedule 08.08.2010