Html5 websockets идеальная платформа для разработки PHP - PullRequest
3 голосов
/ 15 февраля 2012

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

Ответы [ 5 ]

2 голосов
/ 15 февраля 2012

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

Однако я бы НЕ рекомендуем использовать веб-сокеты с PHP.Поскольку PHP не предназначен для длительной двунаправленной связи и будет приводить к блокировке всего процесса / потока Apache при каждом новом подключении.

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

1 голос
/ 15 февраля 2012

Вы пробовали COMET?

В Интернете много примеров приложений COMET + PHP.

http://www.zeitoun.net/articles/comet_and_php/start

http://ajaxian.com/archives/comet-with-php

http://www.phpclasses.org/blog/post/58-Responsive-AJAX-applications-with-COMET.html

0 голосов
/ 15 февраля 2012

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

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

0 голосов
/ 15 февраля 2012

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

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

0 голосов
/ 15 февраля 2012

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

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

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

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

...