У меня есть приложение PHP (с Symfony2), и я должен разрешить моим пользователям говорить и другие мелодии в режиме реального времени (с socket.IO). Позвольте сосредоточиться на механизме чата: Зарегистрированный пользователь может разговаривать с другим зарегистрированным пользователем (зарегистрированным в FOSUserBundle в Symfony). Когда пользователь отправляет сообщение, он должен быть сохранен в MySQL и отправлен в реальном времени другому пользователю. Таким образом, сообщение связано с двумя пользователями (отправителем и получателем) в моей базе данных MySQL.
Итак, у меня есть две возможности:
- Я использую PHP для хранения сообщений:
- У меня есть событие на клике "отправить" и вызывать PHP-адрес с помощью AJAX
- Если мой PHP вернется "ОК" (поэтому он правильно добавил сообщение в базу данных), я испускаю событие Socket.IO → пусть доктрина обрабатывает данные и symfony с моим пользователем.
- На стороне NodeJS у меня есть слушатель этого события, и я отправил сообщение через Socket.IO с другим событием
- Я использую только NodeJS:
- Как я могу зарегистрировать моего пользователя на стороне PHP и NodeJS?
- Мне нужно использовать другую базу данных для данных в реальном времени?
- Как я могу делиться своими пользователями между NodeJS и PHP?
Я не знаю, что является самым чистым решением, если кто-то может мне помочь. Спасибо!