HTML5 WebSocket with hybi-17

后端 未结 2 1967
故里飘歌
故里飘歌 2021-01-07 11:02

Update: I solved the decoding problem, thanks to pimvdb

Follows the solution (in PHP):

$len = $masks = $data = $decoded = n         


        
2条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-07 11:53

    Decode solution (thanks to @pimvdb):

    $len = $masks = $data = $decoded = null;
    
    $len = ord ($buffer[1]) & 127;
    
    if ($len === 126) {
      $masks = substr ($buffer, 4, 4);
      $data = substr ($buffer, 8);
    }
    else if ($len === 127) {
      $masks = substr ($buffer, 10, 4);
      $data = substr ($buffer, 14);
    }
    else {
      $masks = substr ($buffer, 2, 4);
      $data = substr ($buffer, 6);
    }
    
    for ($index = 0; $index < strlen ($data); $index++) {
      $decoded .= $data[$index] ^ $masks[$index % 4];
    }
    

提交回复
热议问题