Drupal - это веб-CMS, его можно использовать в качестве framework для расширенных веб-функций или легкого и среднего веб-приложения, которое хорошо вписывается в традиционную парадигму HTTP-запроса .ИМХО, распространение оперативных данных от нескольких серверов к клиенту с использованием сокетов не соответствует базовому предположению, лежащему в основе дизайна Drupal.
PHP может использоваться для написания сокет-сервера.Раньше это было необычно, но становится все более доступным. ReactPHP - это неблокирующая библиотека ввода / вывода, подходящая для программирования сокетов. Racthet - сервер веб-сокетов на PHP, использующий ReactPHP.
В любом случае, это не что иное, как разработка веб-приложения с RoR, Drupal, Django, Symfony,и т. д.
Если требуется интеграция с веб-сайтом Drupal, сервисный модуль является хорошим решением для предоставления REST или XML-RPC API.Конечно, прямой доступ к базе данных MySQL в Drupal также возможен, но, вероятно, потребуется больше знаний об используемых модулях Drupal, поскольку вам придется копировать их поведение и понимать, как они управляют своими данными (например, как хранится конкретное поле CCK).в вашей базе данных).
Примечание. Предыдущая версия этого ответа содержала ссылку на следующие решения на других языках: Twisted (Python), EventMachine (Ruby) и Node.js (JavaScript).Все это действительные решения, когда PHP не требуется.Предыдущая версия ответа также ссылалась на phpsocketdaemon , но в настоящее время ReactPHP является более чистым и надежным решением.