немного застрял на месте определения сессий, что я делаю сразу - отправляю от клиента такой запрос
websocket = new WebSocket(ServerWebSocket + "?RoomSession=" + RoomSession);
на сервере принимаю
protected $clients;
protected $RoomSession;
public function __construct(){
$this->clients = new \SplObjectStorage;
}
public function onOpen(ConnectionInterface $conn) {
$this->clients->attach($conn);
$this->RoomSession = "";
$a = explode("=", $conn->httpRequest->getUri()->getQuery());
$this->RoomSession = $a[1];
if($this->RoomSession == ""){ $conn->close(); }else{ echo "Connected session => ".$this->RoomSession; }
}
проверено, принимается, таким образом я уже клиента отметил определённой сессией, теперь осталось только одно, отправить другим с такой же сессией, в примере указано следующее
public function onMessage(ConnectionInterface $from, $msg) {
$numRecv = count($this->clients) - 1;
foreach($this->clients as $client) {
if ($from !== $client) {
$client->send($msg);
}
}
}
строка if ($from !== $client) { указывает на то что отправить входящее сообщение всем кроме самого отправляющего, то есть тут нужно добавить условие что всем кто имеет сессию $this->RoomSession у кого такая же.
Вот тут я не понял как это указать...