![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: нет Всего: 9 |
Вопрос не столько в реализации, сколько в продумывании алгоритма.
Идея - написать чат-сервер, многопоточный, который просто рассылает всем клиентам сообщения. Само собой, возможности проверки активности клиентов, бана должны присутствовать, но это потом. Для начала, мое решение. Есть функция listen_clients, которая принимает идентификатор клиента и запускает процес, передавая клиента на прослушку функции client, client в свою очередь слушает в своем потоке своего клиента и добавляет записи от клиента в глобальный список. Отдельный поток каждый раз проходится по списку на предмет новых записей и рассылает всем клиентам новое. Расскажите, как это правильно сделать, как вообще это делается и что нужно знать, почитать! З.Ы. Не нужно предлагать использовать готовое, я пишу для практики! З.Ы.Ы. Клиент будет самописный, так что это тоже не вопрос ... |
|||
|
||||
| slav0nic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.5.2006 Репутация: 4 Всего: 5 |
можешь ещё прикрутить sqlite и хранить там очереди и оффлайн мессаги
а по поводу написания, в чём проблема? или всё пиши на чистом пиотне или на twisted, про твистед нчиего не скажу, читай буку http://slav0nic.xss.ru/books/python/O&...5).DDU.LotB.chm , по поводу написания серверов и клиентов (работа с сокета=) ) читай лутца%) а знать нужно socket, select, fork, threadind или xmlrpc (это ща модно=) - и опятьже готовые модули), или только SocketServer --------------------
python.com.ua |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
а почему именно sqllite, а не какая-то другая БД?
|
|||
|
||||
| slav0nic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.5.2006 Репутация: 4 Всего: 5 |
%)потому что это самое быстрое и простое решение;)
и надо понимать, когда юзать субд, а когда БД --------------------
python.com.ua |
|||
|
||||
| slav0nic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.5.2006 Репутация: 4 Всего: 5 |
вот я постил про скорость http://slav0nic.livejournal.com/13771.html
--------------------
python.com.ua |
|||
|
||||
| pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
что-то там на postgresql поклёп всё не так плохо! |
||||
|
|||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 30 Всего: 34 |
Тесты не объективны. |
|||
|
||||
| PyS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 21.8.2006 Где: г. Алматы (Казахс тан) Репутация: нет Всего: 1 |
||||
|
||||
| slav0nic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.5.2006 Репутация: 4 Всего: 5 |
про psql наверно да) не думаю что там всё так плохо, он на много серьёзней mysql в плане настроек и возможностей
--------------------
python.com.ua |
|||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 30 Всего: 34 |
http://www.sqlite.org/cvstrac/wiki?p=SpeedComparison Ссылка говорит сама за себя. Кто их знает, мож они их поставили в неравные условия. Нужен независимый тестер. |
|||
|
||||
| slav0nic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.5.2006 Репутация: 4 Всего: 5 |
но всё равно sqlite будет быстрее) так как это простая БД, а не сложная субд=)
но топик не об этом В) --------------------
python.com.ua |
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |