国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

GatewayWorker基于Workerman開(kāi)發(fā),為什么GatewayWorker不支持動(dòng)態(tài)發(fā)送二進(jìn)制數(shù)據(jù)呢。。。

sky258

都看了論壇的問(wèn)答,發(fā)現(xiàn)GatewayWorker不支持動(dòng)態(tài)發(fā)送二進(jìn)制數(shù)據(jù),把項(xiàng)目卡住了
有沒(méi)有什么解決辦法啊

1305 2 3
2個(gè)回答

walkor 打賞

什么叫動(dòng)態(tài)發(fā)送二進(jìn)制數(shù)據(jù)?

  • sky258 2022-04-27

    根據(jù)請(qǐng)求發(fā)送

  • sky258 2022-04-27

    根據(jù)請(qǐng)求發(fā)送二進(jìn)制或者text

  • walkor 2022-04-27

    你前端通過(guò)什么區(qū)分服務(wù)端發(fā)來(lái)的數(shù)據(jù)是二進(jìn)制?

  • sky258 2022-04-27

    前端來(lái)接收文件,數(shù)據(jù)要二進(jìn)制的

walkor 打賞
class Events
{

    public static function ArrayBufferPack($buffer)
    {
        $len = \strlen($buffer);
        $first_byte = "\x82";
        if ($len <= 125) {
            $encode_buffer = $first_byte . \chr($len) . $buffer;
        } else {
            if ($len <= 65535) {
                $encode_buffer = $first_byte . \chr(126) . \pack("n", $len) . $buffer;
            } else {
                $encode_buffer = $first_byte . \chr(127) . \pack("xxxxN", $len) . $buffer;
            }
        }
        return $encode_buffer;
    }

    public static function onMessage($client_id, $message)
   {
        Gateway::sendToAll(static::ArrayBufferPack(json_encode($new_message)), null, null, true);
   }
}

像上面這樣加一個(gè)ArrayBufferPack方法,在需要發(fā)送websocket二進(jìn)制數(shù)據(jù)的時(shí)候,
1、用ArrayBufferPack打包數(shù)據(jù)。
2、send方法的raw參數(shù)傳true (每個(gè)send方法如sendToUid sendToGroup等都有個(gè)raw參數(shù))

在不需要發(fā)送二進(jìn)制數(shù)據(jù)的時(shí)候,還是按照之前的方式發(fā)送(不能ArrayBufferPack打包,也不要傳raw參數(shù))

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??