Идёт соединение с сервером, от меня запрос -> на сервер. Далее мы ставим событие, и когда оно выполняется, то сервер будет отправлять данные.
Допустим чат, я соединился, соединение создано. Далее просто сервер будет отправлять новые сообщения без моего обращения к нему. Собственно так про него и писалось...
А теперь начинаю в интернете искать примеры практики, чтобы понять. Что я вижу, на хабре реализации идут такие: 4 запроса-ответа ассинхронных, на русском портале главном пример: setInterval, то есть каждую секунду запросом дёргается, а не было ли изменений... Вот пример чата, и тогда возникает вопрос, если мы дёргаем через setInterval, то нафиг вообще нужен node.js, когда ajax с этим справляется успешно.
А теперь вернусь к вопросу, node.js может поддержать схему такую: один запрос на сервер, а потом при изменениях - просто сервер будет пакеты слать, без всяких циклов и интервалов?
Ну и если есть ссылка на какой-нибудь подобный пример - буду рад! В любом случае главное - это понять, может ли по такой схеме работать node.js или нет....
Спустя 43 минуты, 5 секунд (4.12.2011 - 00:53) Игорь_Vasinsky написал(а):
юзер велкки практикует вроде
Спустя 1 минута, 32 секунды (4.12.2011 - 00:54) Invis1ble написал(а):
ты наверное имел ввиду VELIK505
Спустя 5 минут, 53 секунды (4.12.2011 - 01:00) Игорь_Vasinsky написал(а):
да да. он самый местный сиадмин
тока у меня почемут ассоцияция с велки, но не с - велик
тока у меня почемут ассоцияция с велки, но не с - велик
Спустя 58 минут, 11 секунд (4.12.2011 - 01:58) caballero написал(а):
Цитата |
Далее просто сервер будет отправлять новые сообщения без моего обращения к нему |
ты с веб сокетами не перепутал часом?
Цитата |
если мы дёргаем через setInterval, то нафиг вообще нужен node.js, когда ajax с этим справляется успешно. |
ajax дергает обычную серверную страницу со всеми вытекающими последствиями - вызовом PHP в отдельном потоке или треде и т.д.
Node.js выполняется в одном потоке поэтому может быстро обрабатывать множество мелких запросов - типа вывести коменты, сообще ния в чат и т.д
Обычные тяжелые выборки для всей страницы его естественно положат.
Имеет смысл юзатся в высоконагруженых сатах типа соцсетей. В не особо нагуженных справится и обычный PHP.
Спустя 17 часов, 17 минут, 32 секунды (4.12.2011 - 19:16) bodja написал(а):
Цитата |
А теперь вернусь к вопросу, node.js может поддержать схему такую: один запрос на сервер, а потом при изменениях - просто сервер будет пакеты слать, без всяких циклов и интервалов? |
HTTP протокол не предусматривает постоянного соединения с сервером по 80 порту.
Сервер ответил и сразу закрыл порт.
Тут нужно ковырять сокеты ,но опять таки не ясно ,сколько сам браузер будет удерживать открытым свой порт.
Спустя 2 дня, 3 часа, 17 минут, 47 секунд (6.12.2011 - 22:34) inpost написал(а):
Всем спасибо, направили меня в правильное русло!
Итак: node.js представляет из себя сервер возможностей, к нему есть плагин socket.io , то есть организовывает работу сокетов для браузеров, у которых есть на то возможность (сокет-связь - это и есть постоянная связь, где сервер просто будет присылать вам данные без его дёрганья), к тому же кроссплатформенная вещь, так что если у браузера заблокированы сокеты, то работа устанавливается как пуллинг (с интервалом дёргается сервер, результат возвращается).
Итого, я добился первых результатов, взял чужой скрипт чата и в тестовом режиме запустил, работает отлично. Есть баги, но не зря, что node.js ещё бета версия. Надо дальше копать в этом направлении.
Вообщем спасибо, что указали на главное - именно работа с сокетами!
Итак: node.js представляет из себя сервер возможностей, к нему есть плагин socket.io , то есть организовывает работу сокетов для браузеров, у которых есть на то возможность (сокет-связь - это и есть постоянная связь, где сервер просто будет присылать вам данные без его дёрганья), к тому же кроссплатформенная вещь, так что если у браузера заблокированы сокеты, то работа устанавливается как пуллинг (с интервалом дёргается сервер, результат возвращается).
Итого, я добился первых результатов, взял чужой скрипт чата и в тестовом режиме запустил, работает отлично. Есть баги, но не зря, что node.js ещё бета версия. Надо дальше копать в этом направлении.
Вообщем спасибо, что указали на главное - именно работа с сокетами!
Спустя 3 минуты, 23 секунды (6.12.2011 - 22:37) vital написал(а):
То баги чата а не ноды,
Спустя 39 минут, 35 секунд (6.12.2011 - 23:17) inpost написал(а):
vital
Не спорю, потому что чат не мой, а тестовый с хабры. Я взял его для примера, чтобы разобрать по полочкам "соединение" и "передачу" данных.
Не спорю, потому что чат не мой, а тестовый с хабры. Я взял его для примера, чтобы разобрать по полочкам "соединение" и "передачу" данных.
Спустя 14 часов, 41 минута, 22 секунды (7.12.2011 - 13:58) VELIK505 написал(а):
Которые я тебе чаты скинул они тоже баговые. Ну это так для примера посмотреть чё и как работает. Давай пиши хороший Чат на ноде потом куплю у тебя
Php уже вижу вымирает по тихой уже все переходят либо на ноду либо питон либо твистед и тд и тп. И так же все большие проекты которые были на php уже переписались.
Php уже вижу вымирает по тихой уже все переходят либо на ноду либо питон либо твистед и тд и тп. И так же все большие проекты которые были на php уже переписались.
Спустя 2 часа, 38 минут, 52 секунды (7.12.2011 - 16:37) vital написал(а):
Цитата (VELIK505 @ 7.12.2011 - 12:58) |
Которые я тебе чаты скинул они тоже баговые. Ну это так для примера посмотреть чё и как работает. Давай пиши хороший Чат на ноде потом куплю у тебя Php уже вижу вымирает по тихой уже все переходят либо на ноду либо питон либо твистед и тд и тп. И так же все большие проекты которые были на php уже переписались. |
На яву, ага. А не на ноду\питон\твистед;)