| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Веб-разработка и фреймворки > помогите настроить pywebsocket? |
| Автор: dipsy 25.12.2009, 18:15 | ||
| суть моей исходной задачи - сделать нотификацию web-клиета. на хабре видел статью про websocket-ы. и нашёл такой проект: http://code.google.com/p/pywebsocket/ скачал, выполнил установку по README. теперь надо настроить под apache2. читаю: http://pywebsocket.googlecode.com/svn/trunk/src/mod_pywebsocket/__init__.py прописываю в httpd.conf:
перегружаю apache. перегружается нормально, хотя сомневаюсь в правильности конфига. а дальше что делать? как это должно работать? |
| Автор: Daevaorn 25.12.2009, 20:07 |
Так вам надо помочь настроить или научить пользоваться веб-сокетами? |
| Автор: dipsy 25.12.2009, 20:37 |
| пока по вёб-сокетам я читал только http://mutor.74.habrahabr.ru/blogs/webdev/79038/. буду благодарен за ссылки на другие полезные статьи. как работают обычные сокеты я знаю. не знаю, как работают вёб-сокеты. tcp-сервер, слушающий сокет, запускается внутри apache в собственном потоке? после установки соединения - создаётся ли на сервере новый процесс или поток? иногда мне кажется это почти одно и то же |
| Автор: Dagger 8.1.2010, 13:35 |
| Эту технику еще называют Comet (http://en.wikipedia.org/wiki/Comet_(programming)). |
| Автор: dipsy 8.1.2010, 20:19 |
| Comet - это термин, который обозначает множество технологий, пытающихся решить проблемы традиционных решений - постраничного просмотра и постоянной отправки запросов серверу. Т.е. это не конкретная техника, а там много технологий подразумевается. Среди этого множества есть технология HTTP server push. (Попытался перевести соответствующий абзац с англоязычной википедии и вставить в русскоязычный вариант статьи про Comet.) На сколько я понимаю, pywebsocket и должен реализовывать проталкивание событий. Но неясно, каким образом один скрипт обеспечивает работу с множеством web-клиетов. Может ли под Apache заводиться специальный поток? (и что в этом потоке будет крутиться?) Или же вообще работает как-то по-другому... |
| Автор: Dagger 8.1.2010, 20:51 | ||
| Скорее множество технологий используют эту технику. Принцип очень простой – не закрывать соединения. В конце 90-х так работали большинство веб чатов. Что касается pywebsocket. Ничего особенного в настройке нет. Для начала проверьте его работу с помощью http://code.google.com/p/pywebsocket/source/browse/trunk/src/example/echo_client.py. Ну и ответ по поводу
pywebsocket аботает по типу модуля для апача. В апаче я не очень силен, но судя по коду pywebsocket всей мультизадачностью управляет apache/mod_python и для работы знать внутреннее устройство необьязательно. |