Помогите раскодировать знаки �W , � , �^
В общем проблема такая: есть Websocket сервер написан на php, он работает исправно с различными клиентами - Google chrome, Websocket на C++ (arduino). Для закрытия не рабочих, оборванных соединений на сервере реализован механизм ping/pong который закрывает такие соединения. Так вот он отлично работает со всеми выше перечисленными клиентами. Я написал клиент на php, но он по какой-то причине получает неправильные фреймы и при попытке их декодировать print_r(hybi10Decode($result)); выдает следующее
Array
(
[type] =>
[payload] =>
[error] => protocol error (1002)
)
а должен выдавать
Array
(
[type] => ping
[payload] => 127.0.0.1:35484
)
Если выводить сообщения без функции hybi10Decode то в терминале выводится следующее
�W{"info":[{"device":"module_esp","id":"1","esp_ip":"192.168.1.101","wifi_power":"-86"}]}
�127.0.0.1:35484
�^{"update":[{"module_esp":"2","group":"sensors","device":"sensor_light","id":"2","value":"0"}]}
Я подозреваю, что символы �W , � , �^ это бинарные данные, но как их вывести в терминал в бинарном виде и обработать в последующем при помощи php не знаю!
В общем основной вопрос - как прочитать эти символы на php? Почему php портит фрейм я тоже не знаю, ведь другие клиенты фрейм воспринимают нормально.
_____________
Мой первый сайтик
Посмотри на свой XBMC под другим углом