Пытаюсь прикрутить к сайту сокеты. Библиотека Ratchet
код клиентской части
socket = new WebSocket('ws://localhost:5432');
console.log(socket);
socket.onopen = function(e) {
is_socket = true;
socket.send('{"user_id":"67","init":1}');
};
Сервер :
public function onMessage(ConnectionInterface $from, $data)
{
$numRecv = count($this->clients) - 1;
$data = json_decode($data); // возвращает объект и ошибку strlen()
var_dump(json_last_error()); //нет ошибок
var_dump(json_last_error_msg()); // нет ошибок
var_dump($data);
foreach ($this->clients as $client) {
$client->send($data);
}
}
Вывод в консоли
$ yii socket/start-socket
New connection! 89
int(0)
string(8) "No error"
object(stdClass)#74 (2) {
["user_id"]=>
string(2) "67"
["init"]=>
int(1)
}
An error has occurred: strlen() expects parameter 1 to be string, object given
Connection 89 has disconnected
В чем может быть ошибка? На сервер приходит строка.
Однако вызов
json_decode()
возвращает объект и ошибку
strlen