通过带有嵌入式雄猫的 stomp websocket springboot 压缩或发送 gzip 数据



我有json数据,其大小超过1 mb,需要通过stomp websocket发送。 我们正在使用嵌入式弹簧靴 雄猫 .

我将数据压缩到 gzip 中,然后转换为字符串以通过 websocket 发送。 我修改了 stomp 标头以发送内容编码作为响应的一部分,但浏览器无法解压缩和读取它。

如何在 react/redux/js 中读取客户端中的 json。

SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create();
accessor.setContentType(MimeTypeUtils.TEXT_PLAIN);
accessor.setNativeHeader("content-encoding", "gzip");
accessor.setLeaveMutable(true);
MessageHeaders headers = accessor.getMessageHeaders();
this.template.convertAndSend("/topic/Default", compress("{Dummy Json}"),headers);
public static String compress(String str) {
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(str.getBytes());
gzip.close();
String outStr = out.toString("UTF-8");
return outStr;
}

您可以添加以下配置来压缩它

server.compression.enabled: true
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css,image/jpeg

最新更新