Здравствуйте. Осваиваю socket.io, хочу сделать умную штучку, в которой некоторая группа пользователей будет совместно совершать какие-то действия (не чат).
Научился на какие-то события принимать сообщения и отправлять их всем\конкретному пользователю.
Не могу понять как внутри сокета хранить какие-то свои данные. Если я возьму и в событие коннект добавлю $temp[] = 1, то при любом кол-ве подключений у меня переменная темп будет всегда с одним элементом. Что логично, скрипт отработал и умер, но не логично, этож вроде сервер, соединение держит... По этому прошу помочь мне разобраться, подсказать несколько примеров того как..
-как в сокете хранить свои данные какие-то? (могу для этого использовать mysql, но это ведь костыль?
- как получить ид соединения? Есть вообще ид соединения?
- как работать с комнатами? создавать, удалять, получать список пользователей\соединений в них?
на гит нашел только это, методом научного тыка дотыкался до возможности отправить сообщение пользователю что подсоединился а не всем.
use Workerman\Worker;
use PHPSocketIO\SocketIO;
// listen port 2021 for socket.io client
$io = new SocketIO(2021);
$io->on('connection', function($socket)use($io){
$socket->on('chat message', function($msg)use($io,$socket){
$io->emit('chat message', $msg);
$socket->emit('chat message', "Отправлено".date('h:m:s',time()));
});
});
Worker::runAll();
Спасибо.