Какой механизм мьютекса / блокировки / ожидания использовать при написании приложения чата с Tornado Web Framework - PullRequest
0 голосов
/ 14 февраля 2010

Мы внедряем чат-сервер, используя Tornado.

Суть проста: пользователь открывает HTTP-соединение Ajax с сервером Tornado, а сервер Tornado отвечает только тогда, когда в чате появляется новое сообщение. Всякий раз, когда соединение закрывается, независимо от того, поступило ли новое сообщение или произошла ошибка / тайм-аут, клиент повторно открывает соединение.

Глядя на Торнадо, возникает вопрос о том, какую библиотеку мы можем использовать, чтобы позволить этим вызовам ожидать некоторый центральный объект, который будет им сигнализировать - A_NEW_MESSAGE_HAS_ARRIVED_ITS_TIME_TO_SEND_BACK_SOME_DATA.

Чтобы описать это в терминах Win32, каждый асинхронный вызов будет представлен в виде потока, который будет висеть на WaitForSingleObject(...) в некотором центральном Mutex / Event / и т. Д.

Мы будем работать в стандартной среде Python (Tornado), есть ли что-то встроенное, что мы можем использовать, нужна ли нам внешняя библиотека / сервер, есть ли что-то, что Tornado рекомендует?

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

Я ищу лучшие варианты для разработки приложения для чата, а также изучал торнадо. В этих черновиках Создание пользовательского опыта в реальном времени есть глава по созданию приложения для чата с торнадо, которое может быть полезным для вас. Желаем удачи:)

0 голосов
/ 08 мая 2010

Tornado имеет пример "чата", который использует длинный опрос. Он содержит все, что вам нужно (или на самом деле, вероятно, больше, чем нужно, поскольку он включает сторонний логин)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...