2012-02-15 2 views
3

Мы планируем создать обширное веб-приложение, которое обеспечивает обновление данных и отображение данных в реальном времени (sth like stockmarket). Существует потребность в эффективной двунаправленной связи между сервером и клиентом. После исследования html5 веб-сокеты кажутся обязательными. Однако есть несколько вопросов, касающихся совместимости и резервного копирования, а также поддержки сервера. Нам нужно простое и стабильное решение в предпочтительной php и интеграции apache. Мы провели несколько тестов с phpwebsockets и pywebsockets, но они кажутся не такими стабильными. Что бы вы предложили в качестве более стабильного решения, но, возможно, в php? Заранее спасибо.Html5 websockets Идеальная платформа для разработки php

ответ

2

Что вы хотите использовать, это Socket.IO, который заботится обо всех проблемах между браузерами и обеспечивает бесшовные резервные копии для старых браузеров. Socket.IO был использован для использования с Node.js, но теперь он может использоваться с числом different server-side languages.

Тем не менее, я хотел бы NOT рекомендовать использовать веб-сокеты с PHP. Поскольку PHP не предназначен для длительной двунаправленной связи и приведет к тому, что весь процесс/поток Apache будет заблокирован с каждым новым соединением.

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

0

Nodejs по двум причинам:

1: Вы можете использовать один и тот же язык, на клиенте и сервере, таким образом, больше кода повторного использования.

2: Встроенный цикл событий делает javascript идеальным для тех, кто «выполняет крошечную работу, а затем спал в течение 20 секунд».

Вы должны любить javascript, чтобы взять его на сервер.

0

я бы, вероятно, пойти с Node.js. Хотя я обожаю javascript, я не пил прохладную помощь Node.js. (Справедливое предупреждение ...)

Но Node.js позволяет использовать Socket.io - и именно это вы хотите использовать, чтобы обеспечить бесперебойную работу в режиме реального времени на всех «всех» системах. Связь между PHP и Node.js может обрабатываться через сокеты, базу данных или некоторые другие безумные вещи.

+0

Я также предпочитаю nodejs, но ему нужно что-то легко совместимое с php и apache. Возможно, запустите сервер узлов, добавьте столько сложностей к его проекту. –

+0

Будучи самим PHP-разработчиком, я чувствую себя обязанным сообщить: «Использовать правильный инструмент для работы». PHP не является правильным инструментом для работы. (Не говоря, что Node.js либо, но по сравнению с PHP, он лучше подходит из-за Socket.io) – rodneyrehm

+0

Кроме этого, я бы предположил, что это правильно, и что-то написать в Эрланге. (да, это троллинг и вообще не помогает, но для этого PHP сам по себе похож на злоупотребление отверткой для молотка). – rodneyrehm

0

Веб-сокеты не поддерживаются хорошо, а также нет стабильной реализации php.

Рассматривали ли вы использование длинного опроса/COMET? Он будет работать во всех браузерах.

+1

С помощью [web-socket-js] (https: // github.com/gimite/web-socket-js) polyfill/fallback, WebSockets можно использовать практически во всех браузерах в дикой природе (пока ваш сервер также поддерживает протокол Hixie-76 для iOS). – kanaka

Смежные вопросы