LINUX.ORG.RU

Ажакс или вебсокеты

 ,


0

2

Как будет производительнее в контексте имиджборды? Если велика скорость постинга, то по-идее с вебсокетами должно быть быстрее. Но с другой стороны если использовать ажакс то между двумя рефрешами может оказаться куда больше чем один пост, соответственно потребуется меньше операций по отправлению. Как бы сделали вы и почему?

Перемещено JB из talks


ajax, потому как если не хватает возможностей http-протокола - нехрен использовать web-браузер - пиши нормальное десктопное приложение. Кстати, первое, что делаю на администрируемых лампочках - отрубаю KeepAlive. От слова совсем.

r_asian ★☆☆
()

Я бы не стал связываться с вебсокетами там, где можно обойтись без них, ибо вебсокеты подразумевают наличие некоего нативного кода, который будет крутиться отдельным процессом, дополнительных открытых портов и т.п., то есть заведомо сложнее при развёртывании и обслуживании.

Sadler ★★★
()

Атмосфера и т.п. абстракции над коммуникациями. Вебсокеты с регрессом на длинный и короткий поллинг.

lgbt
()

Из нельзя сравнивать, у них разные сферы. Более того, их можно использовать и совместно.

ajax нужен для действий, которые инициируются пользователем.

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

aiive
()
Ответ на: комментарий от Deleted

О, кстати, я не осилил пока что прочитать весь твой main.js, но неужели эти 11 тыщ строк относятся непосредственно к борде, или ты просто склеил с какой-то либой?

Zaskar
() автор топика
Ответ на: комментарий от Zaskar

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

Deleted
()

если постинг идет, то везде повсюду реализации на AJAX, не видел что бы вебсокеты для этого использовали

быстрее было бы? ну наверное, если один юзер по 50 за раз кидает в одну «сессию».

umren ★★★★★
()
Ответ на: комментарий от Zaskar

Ок, перечитал нулевой комментарий.

Тогда только Вебсокеты.

resurtm ★★★
()
Ответ на: комментарий от Zaskar

Не люблю, когда написал комментарий, отправил его, а за время, пока писал его добавили ещё пару-тройку. Раздражает. Поэтому только Вебсокеты. Чтобы комментарии появлялись на странице по мере написания моего комментария.

resurtm ★★★
()
Ответ на: комментарий от umren

везде повсюду реализации на AJAX

Facebook.com и VK.com с тобой не согласны.

resurtm ★★★
()
Последнее исправление: resurtm (всего исправлений: 1)
Ответ на: комментарий от Sadler

вебсокеты подразумевают наличие некоего нативного кода

Чего? Погугли WebSocket серверы на Node.JS, PHP, Python и так далее. Можно даже код основного приложения шейрить с WebSocket сервером (юзать толстые модели).

resurtm ★★★
()
Последнее исправление: resurtm (всего исправлений: 1)
Ответ на: комментарий от resurtm

Всё можно. Но в общем сферическом в вакууме случае это не так, и приходится разгребать, чего там навелосипедили на сишечке под вебсокеты предыдущие программеры.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 1)
Ответ на: комментарий от Sadler

Всё можно. Но в общем сферическом в вакууме случае это не так, и приходится разгребать, чего там навелосипедили на сишечке под вебсокеты предыдущие программеры.

Приходится для чего? Ты Фейсбук пишешь по нагрузке, что надо лезть на такой низкий уровень разбираться в потрохах?

Нода удовлетворит все наши с тобой нагрузочные потребности на лет 20 вперёд вместе взятые, а если вдруг из нас выйдут Цукерберги очередные (во что я лично не верю), то тут уж точно ничего не помешает нанять первоклассных low level спецов по всем этим технологиям, ибо бабло будет.

Поэтому я бы просто не заморачивался и юзал приятный и удобный WebSocket сервер на Ноде. И занимался бы алгоритмической оптимизацией конкретных bottleneck'ов.

resurtm ★★★
()
Последнее исправление: resurtm (всего исправлений: 1)

Можно подробнее как именно ты юзаешь веб сокеты? Шлешь «запрос» и ждешь «ответ» точно так же как если бы пользовал аякс? Если да, то у меня для тебя плохие новости.

redixin ★★★★
()
Ответ на: комментарий от redixin

То что ты описал не WebSocket. У этого есть своё определённое название.

resurtm ★★★
()

Ajax для поста, long polling для обновлений. WS тут не нужны. Хотя при желании можно и на них сделать, но профита мало, а проблем много.

Legioner ★★★★★
()

Эскобар.
Обколются своими ажаксами, и без js даже навигация по сайту не работают

TheAnonymous ★★★★★
()
Ответ на: комментарий от aiive

О, спасибо! Не знал про это. Надо больше манов курить.

И опять MSIE их не умеет. Ну да ладно, штука отличная под некоторые мои задачи. :-)

resurtm ★★★
()
Ответ на: комментарий от resurtm

О, спасибо! Не знал про это. Надо больше манов курить.

Вместо манов можно покурить caniuse.com , примерно появится представление, что умеют и будут уметь браузеры в ближайшем времени.

aiive
()
Ответ на: комментарий от Sadler

Это твои личные сексуальные проблемы.

Deleted
()
Ответ на: комментарий от Legioner

Как там в 2009, доллар сколько рублей стоит?

Deleted
()
Ответ на: комментарий от Legioner

Лонгпол? Оно еще и новое соединение каждый раз открывает? Неужели вебсокеты не лучше — кто-то постанул и сразу отослал всем своим соединениям новый пост?

Zaskar
() автор топика
Ответ на: комментарий от Deleted

Это костыль.

Не костыль, а простая и быстрая штука с минимальными телодвижениями под определённые задачи. Пускай будет в загашнике.

resurtm ★★★
()
Ответ на: комментарий от Zaskar

В жабамирке запрещено использовать технологии, которым меньше 10 лет.

Deleted
()

больше чем один пост, соответственно потребуется меньше операций по отправлению

Лишний раз сделать send проще чем лишний раз парсить хттп заголовки. И да, ничто не мешает ограничить частоту отправки (объединять сообщения на подобие алгоритма Нагла)

redixin ★★★★
()

Вебсокеты конечно. Они пришли, чтобы покрыть все недостатки ajax. Теперь ajax больше ненужен.

th3m3 ★★★★★
()
Ответ на: комментарий от resurtm

Каких например?

1. Плохая поддержка в старых браузерах.

2. Через HTTP многие прокси не дают работать. Причём порой с загадочными симптомами, например соединение вроде как устанавливается, но дальше по нему ничего не проходит.

3. В процессе развития стандарта было много несовместимых версий и сейчас можно их встретить.

4. В целом стандарт не традиционный, не вписываются в HTTP. Бинарные фреймы ограниченного размера, какие-то свои пинги, чёрт-те что. Кому-то это надо, но нормальным людям лучше что-нибудь попроще.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 2)
Ответ на: комментарий от Zaskar

Лонгпол? Оно еще и новое соединение каждый раз открывает?

Не обязательно.

Неужели вебсокеты не лучше — кто-то постанул и сразу отослал всем своим соединениям новый пост?

Не лучше. У вебсокетов есть плюсы: очень маленькое время отклика, меньше трафика. Но эти плюсы для имиджборды несущественны, они могут быть существенны, например, для онлайн-игры или торгового терминала. А минусы перевешивают плюсы.

Legioner ★★★★★
()
Ответ на: комментарий от darkenshvein

что он делает? удерживает в памяти?

Видимо, речь идет о хедерах, означает что соединение не прерывать.

callbackhell
()
Ответ на: комментарий от darkenshvein

Собственно, соединение все равно прерывается, если нет отклика от клиента, через некоторое время. ИМХО, эта хрень может выйти боком при сильной нагрузке. Я все соединения закрываю нахрен сразу:) Так проще логика, и никаких траблов пока не замечал. Так что пошли они, эти тиаретики:) Нахрен не вперся этот keep-alive, по-моему:)

callbackhell
()
Ответ на: комментарий от callbackhell

Т.е. оверхед на установление TCP-соединения при сильной нагрузке боком не выходит, а keep-alive выходит? А ты «сильную нагрузку»-то вообще видел, деточка? :)

boombick ★★★★★
()
Ответ на: комментарий от resurtm

написал комментарий, отправил его, а за время, пока писал его, добавили ещё пару-тройку

А что, сейчас long polling ajax уже не моден для этого? Непременно надо вебсокеты?

Wizard_ ★★★★★
()
Ответ на: комментарий от aiive

Иногда нужна инициализация юзером и рассылка оповещения всем клиентам. Как вам такое?

gobot ★★★★
()
Ответ на: комментарий от r_asian

если не хватает возможностей http-протокола - нехрен использовать web-браузер

первое, что делаю на администрируемых лампочках - отрубаю KeepAlive.

Это такой вброс или ты серьёзно так делаешь?

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.