我是 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());
}
});
现在,当我在同一台电脑上同时运行客户端和服务器时,这段代码可以正常工作。但是直接将 zlib.deflate 函数返回的 Buffer 对象写到套接字上,然后在客户端上使用是否正确?边?
最佳答案
不要发送原始对象。试试 buffer.toString()。
session.xmlSocket.writeString(buffer.toString());
关于javascript - Node.js:tcp 连接中的 zlib 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096594/