2012-06-19 3 views
1

저는 node.js를 처음 사용하고 있으며 현재 tcp 서버에서 작업하고 있습니다. 모든 메시지를 압축 된 형식으로 클라이언트에 보내고 싶습니다.이 용도로 zlib을 사용하고 있습니다.Node.js : zlib tcp 연결의 압축

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

이 기능은 기본적으로 데이터를 압축하고, 그 데이터가 압축 해제 클라이언트 측 socket.The 코드에 쓴다 :

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

다음 샘플 서버 측 코드

이 코드는 클라이언트와 서버를 같은 pc.But에서 실행하면 올바르게 작동합니다. zlib.deflate 함수가 반환 한 Buffer 객체를 직접 작성하고 소켓에 쓰고 클라이언트 측에서 사용하는 것이 옳습니다. ?

답변

0

원시 개체를 보내지 마십시오. buffer.toString()을 시도하십시오.

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

관련 문제