Идея/контекст:
Я думаю о том, чтобы предоставить своим пользователям приятную маленькую дополнительную функцию :Я хочу добавить push-уведомления. Это вариант использования:
У людей есть гостевая книга на странице их профиля. Когда кто-то публикует сообщение в гостевой книге пользователя, этот пользователь получит push-уведомление (, если он, конечно же, находится в сети ). Если он не в сети, в следующий раз, когда он появится в сети, мы просто вытащим уведомления из БД.
Я думал о том, чтобы сделать это с Socket.IO, работающим на сервере Node.JS. Мое текущее приложение построено на PHP (, поэтому публикация и т. д. обрабатывается PHP ).
Все онлайн-пользователи будут подключаться с помощью Socket.IO для прослушивания собственных уведомлений. Их сокет будет сохранен в массиве или хеше на сервере.
Это поток, который я имею в виду:
Проблема здесь заключается в том, что «заставляет Socket.IO выдавать уведомление » -. Мне нужен способ сделать это из PHP,потому что я хочу, чтобы сервер выдавал это уведомление, а не пользователь , который публикует сообщение. Почему ты спрашиваешь? Я хочу, чтобы злоумышленники не создавали поддельные уведомления. Таким образом, в псевдокоде приложение PHP будет выглядеть так:
// do some validations here...
// This is the message that was posted
$message = array(
'from' => 'UserA',
'to' => 'UserB',
'msg' => 'Hello you'
);
// Send a notification to the user by emitting an event
socketio_emit('notification', json_encode($message));
save_in_db($message);
Вопрос (с):
Что вы думаете об этом? Есть ли лучшие способы реализовать эту, казалось бы, небольшую функцию? А также, как мне сделать socketio_emit()
в PHP, другими словами :, как мне общаться с сервером Socket.IO с помощью PHP?
Большое спасибо!