Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2011 17:57:44

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

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

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

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

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

Положительный пример второго варианта - чатик Радио-Т.



Отредактировано (Фев. 14, 2011 17:58:43)

Офлайн

#2 Фев. 14, 2011 19:42:42

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

Enchantner
Google, вроде бы, представлял что-то подобное
http://code.google.com/intl/ru-RU/appengine/docs/python/channel/overview.html

Там в принципе и XMPP есть. Может имеет смысл в сторону ГАЕ и посмотреть как варианта решения.



Офлайн

#3 Фев. 14, 2011 22:54:04

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

Enchantner
… но я пока в упор не представляю, как сделать чат рабочим в IE6, надо как-то извращаться с яваскриптами или флэшем…
Может стоить глянуть в сторону JavaScript'овских фреймворков? В частности Ext JS имеет весьма широкий список совместимости, в том числе вроде и IE 6.



Офлайн

#4 Фев. 15, 2011 22:14:18

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

ты хочешь чтоб клиенты могли и через web и по жабберу переговариваться :) типа конференции , http://www.igniterealtime.org/projects/openfire/ пробовал ?

Офлайн

#5 Фев. 15, 2011 22:15:21

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

или у тебя только веб доступ ?

Офлайн

#6 Фев. 16, 2011 08:52:31

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

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-адресов - на каждую комнату используется свой адрес, но там своя специфика.



Офлайн

#7 Фев. 16, 2011 11:21:33

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

sypper-pit
Да, нужно, чтобы можно было общаться и так, и так.
ziro
Про socket.io я знаю, как раз и думал его использовать + TornadIO. А вот о взаимодействии xmpppy и tornado надо серьезно подумать. Кроме того, я еще с конференциями работать в нем даже не пробовал…



Офлайн

#8 Фев. 16, 2011 12:33:32

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

Enchantner
доступ к серверу у тебя как реализован ?

Офлайн

#9 Фев. 16, 2011 12:43:21

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

sypper-pit
Пока никак, все еще только в процессе обсуждения)



Офлайн

#10 Фев. 16, 2011 20:04:21

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Асинхронный чат - Tornado+Jabber

блин :)… а что планируешь vds или обычный вебхостинг … а может свой сервер :)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version