java Netty的WebSocket消息被压缩了吗?
我正在使用Netty 4.0.21Final开发一个WebSocket服务器
在使用Netty之前,我通过socket直接发送数据,现在,我仍在自己进行数据压缩
但是,当我在Chrome浏览器上仔细查看我的测试客户端的HTTP头时,我发现:
Request URL:ws://127.0.0.1:8089/echo
Request Method:GET
Status Code:101 Switching Protocols
Request Headers CAUTION: Provisional headers are shown.
Cache-Control:no-cache
Connection:Upgrade
Host:127.0.0.1:8089
Origin:null
Pragma:no-cache
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits, x-webkit-deflate-frame
Sec-WebSocket-Key:U0CPp11Bhqxp2lffj4tebw==
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Response Headers
Connection:Upgrade
Sec-WebSocket-Accept:0vvWjhf27ScZauqx+jSfm/Xsuho=
Upgrade:websocket
扩展部分的permessage deflate表示我的消息被压缩了
所以,为了回答这个问题,我使用了一个叫做Wireshark的软件,当我查看这些信息时,我发现它们根本没有被压缩,它们都是纯文本
那么,我该怎么做才能让Netty真正为我压缩信息呢
# 1 楼答案
昨天刚刚添加了压缩支持。因此,它尚未包含在任何版本中:
https://github.com/netty/netty/commit/282d6e73b82ec943a739201f7be1985c45ef032b