Node.js:tcp连接中的zlib压缩

Node.js: zlib Compression in a tcp connection

本文关键字:zlib 压缩 连接 js tcp Node      更新时间:2023-09-26

我是node的新手.js目前正在使用tcp服务器。我希望所有消息都以压缩格式发送到客户端。我为此目的使用 zlib。

以下示例是服务器端的代码:

zlib.deflate(response.toString(), function(err, buffer) {
          if (!err) {
            session.xmlSocket.writeString(buffer);
            }
          }); 

此函数基本上压缩数据并将其写入套接字。客户端上解压缩该数据的代码是:

this.socket.on("data", function(chunk){
     zlib.unzip(chunk, function(err, buffer) {
     if (!err) {
            self.parser.write(buffer.toString());
        console.log(buffer.toString());
      }
    });

现在,当我在同一台PC上运行客户端和服务器时,此代码可以正常工作。但是直接写入 zlib.deflate 函数返回的 Buffer 对象并将其写入套接字,然后在客户端使用它是否正确?

不要发送原始对象。试试 buffer.toString()。

session.xmlSocket.writeString(buffer.toString());