За последние 24 часа нас посетили 16666 программистов и 1690 роботов. Сейчас ищут 824 программиста ...

Как передавать данные из node.js в php

Тема в разделе "Прочие вопросы по PHP", создана пользователем s-prosvirnin, 17 мар 2014.

  1. s-prosvirnin

    s-prosvirnin Новичок

    С нами с:
    17 мар 2014
    Сообщения:
    5
    Симпатии:
    0
    Делаем игру для контакта. PHP+flash. А также node.js в качестве comet-сервера для чата и прочего. Для передачи данных я нашел 3 варианта:
    1. Делать http запрос от node.js к php
    2. Запустить отдельный процесс в виде php скрипта, который будет слушать данные либо по tcp-сокету либо через redis pub/sub. Причем в этом скрипте еще нужно будет инициировать фреймворк, чтобы пользоваться уже существующей архитектурой моделей.
    3. Так же как и во 2 варианте, только запускать php-скрипт по cron`у.
    Вопрос в том, какой лучше метод выбрать, или может есть еще какие?
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    а mysql не подходит в качестве буфера?
     
  3. s-prosvirnin

    s-prosvirnin Новичок

    С нами с:
    17 мар 2014
    Сообщения:
    5
    Симпатии:
    0
    1. Мы используем redis ы качестве БД.
    2. Для того, чтобы из ноды в php данные пердавать нужен php-скрипт, запущенный как процесс, чтобы эти данные ловить, либо передавать http запросом. Не понял, при чем тут буфер, или я что-то не понимаю.
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Просто вариант такой взаимодействия с помощью БД. Node принимает|отправляет данные "для чата и прочего". Если приходят данные, которые нужно обрабатывать в PHP (раз вам этого так сильно хочется), то можно записывать их в очередь, в БД. А оттуда уже считывать в удобное для обработки время.

    Кстати, а почему нужен именно PHP. Что за вычисления, с которыми не справится Node?
     
  5. s-prosvirnin

    s-prosvirnin Новичок

    С нами с:
    17 мар 2014
    Сообщения:
    5
    Симпатии:
    0
    аааа, понял. но это маленько не то, что я хотел услышать. как именно передавать данные вопроса нет, вопрос больше как именно получать данные в php.
    Я так понимаю, вы за то, чтобы php запускался как процесс либо по cron`у?
    бОльшая часть проекта уже написана на php. собственно там есть своя архитектура для логики проекта. и хочется, чтобы вся обработка данных оставалась в php.
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Так она по-разному может быть написана эта часть. Если в традиционном для PHP стиле запрос-рассчёт-ответ-забыл, то и передавайте данные прямо в PHP скрипт с клиентов. А чат на Node пусть остаётся в comet-сервере.

    А можно изначально проектировать движок для работы демоном.
    Если движок работает как демон, то с node.js ещё можно связываться через FIFO файлы (именованные каналы). Это так, напоминание, удобно.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Вопрос в том, зачем вам тут пхп?????
     
  8. s-prosvirnin

    s-prosvirnin Новичок

    С нами с:
    17 мар 2014
    Сообщения:
    5
    Симпатии:
    0
    бОльшая часть проекта уже написана на php. собственно там есть своя архитектура для логики проекта. и хочется, чтобы вся обработка данных оставалась в php.

    Добавлено спустя 5 минут:
    Так вопрос именно в выборе подходящего механизма получения данных в php из node.js. Какой вариант более пожходящий. К примеру, я думаю, что http запросы к php будут несколько медленнее чем получение данных php демоном.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ок. Почему тогда вы перешли на ноду? не тянет пхп? что испугало?
     
  10. s-prosvirnin

    s-prosvirnin Новичок

    С нами с:
    17 мар 2014
    Сообщения:
    5
    Симпатии:
    0
    на ноде будет только comet-сервер, вся обработка данных на php. решили использовать ноду, сравнив все за и против. пишут, что нода лучше справляется с большим количеством соединений.