Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2013, 03:07
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Node.js + свой движок php
Всем привет!
Сейчас стало необходимым изучить работу node.js socket.io

Дело в том, что на сайте необходимо выполнять определенные события. То есть мы передаем данные между пользователями в онлайн-режиме.

Для примера возмем Васю и Петю.
Вася отправляет сообщение Пете. И Петя сразу же его получает.

Изначально пытался реализовать используя comet технологии (long poll).
То есть у нас на сервере есть страница в которой рассположен бесконечный цикл с задержкой sleep(), которые в свою очередь имеет внутри условие выполняясь которое - приводит к остановке цикла и возвращению ответа ajax-запросу, который установил пользоатель.
Но к сожалению данный способ я исключил, ибо если пользователей много, или же пользователь решил много раз обновить страницу - цикл будет инициализироваться много раз и все они будут активны до тех пор - пока не выполнится условие, которое приведет к завершению циклов. А это - огромная нагрузка на сервер, так как в условии обращаемся в БД.

После на пошел использовать websocket... Сразу появилась проблема создания сервера. Около двух недель мурыжился с phpdaemon в результате забив на него.
Для себя выбрал NODE.JS. Прост в использовании. После ознакомления с документацией создал простейший чат.
Я был рад до момента, когда задал вопрос "как быть дальше?". У меня имеется сообственный движок написанный на фреймворке KOHANA.
Ведь сам чат расположен на index.html, который лежит на сервере node.js использующий установленный мною порт.

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

Пока единтсвенная идея - это создание iframe, который будет получать javascript код на выполнение. Но тут возникает проблема с передачей уникальных значений в iframe.. Id, hesh-ключей и пр... То, что должно быть недоступно глазу пользователя.

Прошу прощения, что словоблудствую, но я попытался максимально подробно описать проблему и вопрос.
Есть способы синхронизовать мой сайт и node используя только ajax?

Очень жду Ваших мыслей, комментариев и ссылок! Заранее спасибо!

Последний раз редактировалось Dorian_bs, 03.07.2013 в 03:11.
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2013, 13:15
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

например, я отказался от socket.io в пользу SockJs - работает немного стабильнее.
серверная часть сокжс-а легко цепляется к ноде, клиентская - к сайту через ЖС. получается отменный быстрый туннель для передачи данных, при этом основная часть сайта на пхп - также прекрасно себя чувствует.
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2013, 18:09
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Огромное спасибо! И в правду очень стабильно и просто) А главное - работа файлами html\php, которые могут лежать где угодно)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка файлов node.js или php? faraday Общие вопросы Javascript 4 21.12.2013 23:09
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 22:49
PHP + Node.JS Diego Серверные языки и технологии 4 19.02.2012 22:17
Node.js Kolyaj Серверные языки и технологии 49 24.05.2010 22:29