Найти - Пользователи
Полная версия: Асинхронный чат - Tornado+Jabber
Начало » Python для экспертов » Асинхронный чат - Tornado+Jabber
1 2
Enchantner
Стоит задача - написать корпоративный чат с Jabber-транспортом и веб-интерфейсом (чтобы можно было писать как с клиента, так и через браузер). По моим представлениям, должно получиться что-то потипу Juick, только это должно обладать двумя интерфейсами. Проблема еще и в том, что заказчик хочет совместимости с IE6… Серверная часть делается на Tornado + xmpppy, но я пока в упор не представляю, как сделать чат рабочим в IE6, надо как-то извращаться с яваскриптами или флэшем…

Как лучше реализовать?

Я могу себе представить это в таком виде - есть юзер, допустим, company@jabber.ru, со списком команд (LOGIN, TO) и т.п., как это сделано в Juick. Все общение происходит через этого юзера. Минусы - надо использоватть служебные команды для входа в чат.

Либо надо попробовать провесить jabber-конференцию в веб-интерфейс, но я не представляю, как это можно сделать и можно ли вообще, даже средствами того же xmpppy. Такая система сильно бы упростила все (Google, вроде бы, представлял что-то подобное). Но как?

Положительный пример второго варианта - чатик Радио-Т.
zheromo
Enchantner
Google, вроде бы, представлял что-то подобное
http://code.google.com/intl/ru-RU/appengine/docs/python/channel/overview.html

Там в принципе и XMPP есть. Может имеет смысл в сторону ГАЕ и посмотреть как варианта решения.
Syao
Enchantner
… но я пока в упор не представляю, как сделать чат рабочим в IE6, надо как-то извращаться с яваскриптами или флэшем…
Может стоить глянуть в сторону JavaScript'овских фреймворков? В частности Ext JS имеет весьма широкий список совместимости, в том числе вроде и IE 6.
sypper-pit
ты хочешь чтоб клиенты могли и через web и по жабберу переговариваться :) типа конференции , http://www.igniterealtime.org/projects/openfire/ пробовал ?
sypper-pit
или у тебя только веб доступ ?
ziro
Enchantner
Проблема еще и в том, что заказчик хочет совместимости с IE6… Серверная часть делается на Tornado + xmpppy, но я пока в упор не представляю, как сделать чат рабочим в IE6, надо как-то извращаться с яваскриптами или флэшем…
Это как раз не проблема - для торнадо есть серверный интерфейс для Socket.IO (http://socket.io/) - https://github.com/SocketTornadIO/SocketTornad.IO

Другой вопрос - поддерживает ли xmpppy IOLoop от Tornado, если нет - то возможно придется ее переписать чуть менее чем полностью, или организовать работу с xmpppy через тред/подпроцесс.

Enchantner
Я могу себе представить это в таком виде - есть юзер, допустим, company@jabber.ru, со списком команд (LOGIN, TO) и т.п., как это сделано в Juick. Все общение происходит через этого юзера. Минусы - надо использоватть служебные команды для входа в чат.
Если Вы будете использовать только один jabber-адрес для чата - то использование служебных команд - это единственный стабильный варинт, но, например в http://www.zopim.com/ передача сообщений организована через пул jabber-адресов - на каждую комнату используется свой адрес, но там своя специфика.
Enchantner
sypper-pit
Да, нужно, чтобы можно было общаться и так, и так.
ziro
Про socket.io я знаю, как раз и думал его использовать + TornadIO. А вот о взаимодействии xmpppy и tornado надо серьезно подумать. Кроме того, я еще с конференциями работать в нем даже не пробовал…
sypper-pit
Enchantner
доступ к серверу у тебя как реализован ?
Enchantner
sypper-pit
Пока никак, все еще только в процессе обсуждения)
sypper-pit
блин :)… а что планируешь vds или обычный вебхостинг … а может свой сервер :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB