Я пробовал читать некоторые статьи, но пока не очень понимаю концепции.
Не мог бы кто-нибудь попробовать объяснить мне, что это за технологии:
Один момент, с которым я сталкивался каждый раз: сервер держит соединение открытым и передает данные клиенту. Как поддерживается соединение, и как клиент получает данные? (Как клиент использует данные, может быть, вам поможет какой-нибудь код?)
Итак, что из них следует использовать для приложения реального времени. Я много слышал о веб-сокетах (с socket.io [библиотека node.js]), но почему бы не PHP?
В приведенных ниже примерах клиент - это браузер, а сервер - это веб-сервер, на котором размещен веб-сайт.
Прежде чем вы сможете понять эти технологии, вы должны сначала понять классический веб-трафик HTTP.
Comet - это набор методов, предшествующих HTML5, которые используют потоковую передачу и длинный опрос для достижения приложений реального времени. Подробнее читайте в статье wikipedia или this.
Итак, какой из них я должен использовать для приложения реального времени (которое мне нужно кодировать). Я много слышал о вебсокетах (с socket.io [a библиотека для node.js]), но почему бы не PHP?
Вы можете использовать PHP с WebSockets, посмотрите Ratchet.
Tieme приложил много усилий к своему отличному ответу, но я думаю, что суть вопроса ОП в том, как эти технологии связаны с PHP, а не в том, как работает каждая технология.
PHP является наиболее используемым языком в веб-разработке, помимо очевидных клиентских html, css и javascript. Тем не менее, у PHP есть две основные проблемы, когда речь идет о приложениях реального времени:
Обратите внимание, что PHP имеет расширения для обеспечения циклов событий (например, libevent) и потоков (например, pthreads) в пользовательском пространстве PHP, но очень, очень, очень немногие приложения используют их.
PHP 7 станет большим шагом к исправлению этих проблем, и кажется очень перспективным в качестве платформы для приложений реального времени.
Я постарался сделать заметку об этом и собрал и написал примеры с java перспективы.
Асинхронная обработка на стороне сервера
Помещаю это здесь для любого java-разработчика, который изучает ту же тему.
Вы можете легко использовать Node.JS в веб-приложение только для общения в реальном времени. Node.JS очень мощный, когда он'ы о WebSockets. Поэтому "и на PHP уведомления через узел.Яш", которая будет отличным концепция.
Смотрите в этом примере: Создание в режиме реального времени чат приложение с PHP и Node.js