Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2013 13:31:54

in
Зарегистрирован: 2013-09-11
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Собственно задача сделать так, чтобы при написании сообщений другим пользователям, либо при публикации комментария к посту, новое сообщение появлялось без перезагрузки страницы.

В каком направлении необходимо копать. Я так понимаю сокеты + сигналы. Возможно ajax на jquery и что-то еще.

Можете мне что-нибудь посоветовать?

Офлайн

#2 Сен. 23, 2013 14:12:30

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

tornado + websockets, если надо старые браузеры то можно использовать socket.io или sock.js и соответствующие враперы https://github.com/MrJoes/sockjs-tornado https://github.com/mrjoes/tornadio2


Отредактировано Singularity (Сен. 23, 2013 14:18:28)

Офлайн

#3 Сен. 23, 2013 15:10:43

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Только не забывайте об ограничении в 2 соединения.
Если будет мешать, используйте pipeline, поддомены или отдельный дополнительный канал на Server-Sent Events для получения сообщений с сервера.



Офлайн

#4 Сен. 23, 2013 15:38:59

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Lexander
какое ограничения ?

Офлайн

#5 Сен. 23, 2013 15:50:02

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Я же написал: 2 соединения на клиенте к серверу.
Спецификация HTTP 1.1.



Офлайн

#6 Сен. 23, 2013 17:15:33

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Lexander
это для вебсокетов ? http://www.lib.ru/WEBMASTER/rfc2068/section-8.html можно детальней

Офлайн

#7 Сен. 23, 2013 18:24:23

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Раздел 8.1.4
Клиентам, использующим постоянные соединения, СЛЕДУЕТ ограничить число одновременных соединений, которые они устанавливают с данным сервером. Однопользовательскому клиенту СЛЕДУЕТ устанавливать максимум 2 соединения с любым сервером или прокси-сервером. Прокси-серверу СЛЕДУЕТ ограничиться 2*N соединеними с другими серверами или прокси-серверами, где N - число одновременно активных пользователей. Эти руководящие принципы предназначены для уменьшения времени HTTP ответа и избежания чрезмерной загрузки Интернета или других сетей.



Офлайн

#8 Сен. 23, 2013 20:30:35

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Lexander
спасибо

Офлайн

#9 Сен. 23, 2013 22:06:26

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Сообщения в режиме реального времени

Singularity
tornado + websockets
Либо gevent + websocket (не для старых браузеров) - недавно использовал, вполне неплохо работает.

Lexander
Раздел 8.1.4
Это больше похоже на рекомендацию, нежели на ограничение.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version