微信小程序小游戏开启websocket黑科技permessage-deflate压缩

好消息,微信从7.0.6正式版开始支持websocket压缩协议permessage-deflate。

微信小程序小游戏的开发者,请立刻开启压缩,减少用户和服务器流量到未压缩时的30%!

(在网上还没看到介绍的文章,其实非常有用,做个简单介绍,希望能帮助到大家。文末有彩蛋)

  •  微信客户端

在微信客户端仅需增加一行代码,在连接socket的方法中传入相关参数:

wx.connectSocket({
  perMessageDeflate: true
});

 

  •  服务器端Netty

不同服务器端有各自支持permessage-deflate的代码或配置,以Netty为例,也仅需增加一行代码,在ChannelPipeline中加入WebSocketServerCompressionHandler。

		ChannelPipeline pipeline = ch.pipeline();
		if (sslCtx != null) {
			pipeline.addLast("ssl", sslCtx.newHandler(ch.alloc()));
		}
		pipeline.addLast("codec",new HttpServerCodec());
		pipeline.addLast("aggregator", new HttpObjectAggregator(maxFrameSize));
		pipeline.addLast("compress", new WebSocketServerCompressionHandler());
		pipeline.addLast("handler", webSocketServerHandler);
  •  效果

在我们的微信小游戏项目中,开启permessage-deflate压缩后,平均和峰值流量都下降到未压缩时的30%左右,效果非常明显,为用户节省了不少流量费用,也显著减少了网络传输时间。

  • 我是彩蛋

据小道消息,微信将在9月初支持小程序小游戏使用http/2协议,网络性能将进一步得到优化提升。届时作者也会跟进介绍。

你可能感兴趣的:(微信小游戏,网络,websocket,netty,Java,微信小程序,微信小游戏,网络,websocket,netty)