| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > Чат-сервер |
| Автор: Chuck 23.9.2006, 22:28 |
| Вопрос не столько в реализации, сколько в продумывании алгоритма. Идея - написать чат-сервер, многопоточный, который просто рассылает всем клиентам сообщения. Само собой, возможности проверки активности клиентов, бана должны присутствовать, но это потом. Для начала, мое решение. Есть функция listen_clients, которая принимает идентификатор клиента и запускает процес, передавая клиента на прослушку функции client, client в свою очередь слушает в своем потоке своего клиента и добавляет записи от клиента в глобальный список. Отдельный поток каждый раз проходится по списку на предмет новых записей и рассылает всем клиентам новое. Расскажите, как это правильно сделать, как вообще это делается и что нужно знать, почитать! З.Ы. Не нужно предлагать использовать готовое, я пишу для практики! З.Ы.Ы. Клиент будет самописный, так что это тоже не вопрос ... |
| Автор: slav0nic 24.9.2006, 11:41 |
| можешь ещё прикрутить sqlite и хранить там очереди и оффлайн мессаги а по поводу написания, в чём проблема? или всё пиши на чистом пиотне или на twisted, про твистед нчиего не скажу, читай буку http://slav0nic.xss.ru/books/python/O'Reilly,.Twisted.Network.Programming.Essentials.(2005).DDU.LotB.chm , по поводу написания серверов и клиентов (работа с сокета=) ) читай лутца%) а знать нужно socket, select, fork, threadind или xmlrpc (это ща модно=) - и опятьже готовые модули), или только SocketServer |
| Автор: pythonwin 25.9.2006, 09:40 |
| а почему именно sqllite, а не какая-то другая БД? |
| Автор: slav0nic 25.9.2006, 10:26 |
| %)потому что это самое быстрое и простое решение;) и надо понимать, когда юзать субд, а когда БД |
| Автор: slav0nic 28.9.2006, 11:54 |
| вот я постил про скорость http://slav0nic.livejournal.com/13771.html |
| Автор: albertn 28.9.2006, 14:38 | ||
Тесты не объективны. |
| Автор: PyS 28.9.2006, 15:01 |
а доказательства? |
| Автор: slav0nic 28.9.2006, 15:38 |
| про psql наверно да) не думаю что там всё так плохо, он на много серьёзней mysql в плане настроек и возможностей |
| Автор: albertn 28.9.2006, 15:48 |
http://www.sqlite.org/cvstrac/wiki?p=SpeedComparison Ссылка говорит сама за себя. Кто их знает, мож они их поставили в неравные условия. Нужен независимый тестер. |
| Автор: slav0nic 1.10.2006, 10:36 |
| но всё равно sqlite будет быстрее) так как это простая БД, а не сложная субд=) но топик не об этом В) |
| Автор: pythonwin 1.10.2006, 11:35 | ||
Согласен! Предлагаю не отклоняться от темы - "Чат-сервер" |