请问websocket 如何启用gzip压缩?

dignfei

网上数据太少,请问如何实现???

2947 4 1
4个回答

Tinywan
  • dignfei 2022-04-26

    $connection->send(gzencode('数据'));这个用不上,因为gateway是通过Gateway::sendToClient($client_id,$data)来发送数据的

  • dignfei 2022-04-27

    发过去浏览器识别不了,不行

six

浏览器貌似不会自动解压websocket数据,需要手动解压,估计得找个js的gzip解压库

  • dignfei 2022-04-26

    能不能用ngnix代理转发,由nginx进行压缩?

  • Tinywan 2022-04-26

    这个可以试试,用nginx代理ws

  • dignfei 2022-04-26

    我用了,不知道有没有起作用,找不到怎么查是否成功

dignfei

nginx转发压缩不了啊,有没有大佬知道怎么压缩?

        #开启gizip
        gzip on;
        #压缩在内存中缓冲32块 每块4K
        gzip_buffers 32 4K;
        #压缩级别 推荐6
        gzip_comp_level 6 ;
        gzip_min_length 1000;

        #  全部压缩:
        gzip_types *;#所有类型
        gzip_vary off;
        # 为所有代理请求启用压缩。
        gzip_proxied any;
        location /websocket/ {
            proxy_pass http://127.0.0.1:9292;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_read_timeout 86400;

            # 增加兼容多域名
            proxy_set_header       Host $host;

        }
  • 暂无评论
dignfei

有没有大佬解答一下?应该怎么写协议?

  • walkor 2022-04-27

    send发送的时候压缩下,js收到后手动解压缩。自己找下js解压缩的库

  • dignfei 2022-06-11

    websocket有自带压缩功能,能不能协议上支持压缩?

年代过于久远,无法发表回答
🔝