如何在php中编码websocket的文本数据?

时间:2013-07-22 09:57:26

标签: php websocket

我不熟悉二进制操作所以我需要你的帮助......我在互联网上找到了一个例子,但问题是,当我发送大量文本时,ws.onmessage不会触发

以下是我使用的代码:

private function _encode($text)
    {
        // 0x1 text frame (FIN + opcode)
        $b1 = 0x80 | (0x1 & 0x0f);
        $length = strlen($text);

        if($length <= 125)
            $header = pack('CC', $b1, $length);
        elseif($length > 125 && $length < 65536)
            $header = pack('CCS', $b1, 126, $length);
        elseif($length >= 65536)
            $header = pack('CCN', $b1, 127, $length);

        return $header.$text;
    }

案文:

  

使用HTML5 WebSocketRock将其与HTML5 WebSocketRock一起使用   HTML5 WebSocketRock它与HTML5 WebSocketRock它与HTML5   WebSocketRock它与HTML5 WebSocketRock一起使用HTML5 WebSocketRock   它与HTML5 WebSocketRock一起使用HTML5 WebSocketRock它与HTML5   WebSocketRock它与HTML5 WebSocketRock一起使用HTML5 WebSocketRock   它与HTML5 WebSocketRock一起使用HTML5 WebSocketRock它与HTML5   WebSocketRock它与HTML5 WebSocketRock一起使用HTML5 WebSocketRock   它与HTML5 WebSocketRock一起使用HTML5 WebSocketRock它与HTML5   WebSocketRock它与HTML5 WebSocket

我也在其他版本的phpwebsockets实现中尝试了相同的长文本,并且工作正常。

0 个答案:

没有答案