Полученные данные Websocket и фрагмента (PHP)
does anyone know how to avoid WebSocket\ConnectionException from a receive_fragment error? I send a json through a websocket and added a while to receive the response, but it seems that I only get a fragment of it and throws a error afterwards. {"protocol":"UNKNOWN"," ["class"]=> string(14) "WebSocket\Base" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> int(2) } } [1]=> array(6) { ["file"]=> string(84) "textalk\stocks\vendor\textalk\websocket\lib\Base.php" ["line"]=> int(135) ["function"]=> string(16) "receive_fragment" ["class"]=> string(14) "WebSocket\Base" ["type"]=> string(2) "->" ["args"]=> array(0) { } } [2]=> array(6) { ["file"]=> string(61) "F:\xampp-php72\htdocs\testcodes\textalk\stocks\dailyorder.php" ["line"]=> int(51) ["function"]=> string(7) "receive" ["class"]=> string(14) "WebSocket\Base" ["type"]=> string(2) "->" ["args"]=> array(0) { } } } ["previous":"Exception":private]=> NULL } object(WebSocket\ConnectionException)#7 (7) {"Empty read; connection dead? The Code : $client->send( json_encode($dailyOrder) ); while (true) { try { $dailyorder = json_decode( $client->receive() ); var_dump($dailyorder); } catch (\WebSocket\ConnectionException $e) { var_dump($e); } If anyone has any idea it would really help!
Что я уже пробовал:
Я пытался увидеть ошибку, но это все, что я получил.
Richard MacCutchan
Сообщение говорит вам, что что-то нарушило соединение между вашим клиентом и сервером.
bigbits
правда, проблема в том, что мы не можем использовать javascript, например. Мы должны делать все это на php, поэтому, пока javascript работает на php, там чего-то не хватает.
Richard MacCutchan
Я не думаю что тебе стоит звонить json_decode
по полученным фрагментам, так как декодер будет ожидать полного сообщения. Вы должны собрать все данные в строку, а затем вызвать json_decode
о полном сообщении.