2011-04-22 4 views
0

I는 net.createServer (로부터 콜백) 그러나직렬화 Node.js를 스트림 오브젝트 주위

var server = net.createServer(function (stream) { 

    var json = JSON.stringify(stream); 

인 스트림 오브젝트 직렬화해야 스트림 객체에 순환 속성이 ​​있기 때문에 유형 오류가 발생합니다.

해결 방법이 있습니까?

+0

왜 스트림을 직렬화 하시겠습니까? 스트림을 다른 곳으로 전달할 수는 없습니다. – Raynos

+0

서버가 비동기이므로 '데이터'이벤트를 처리해야합니다. node.js API의 스트림 문서를 확인하십시오. –

+0

JSON 형식으로 저장하려는 이유는 데이터를 Redis에 저장할 수 있기 때문입니다. – Jason

답변

2

@Jason이 맞습니다. 스트림 자체가 아닌 스트림에서 데이터를 가져 와서 Redis에 저장하려고합니다. 이렇게하려면 dataend 이벤트에 대한 스트림에 이벤트 리스너를 추가해야합니다. 이벤트 처리기에서는 각 콜백을 통해 데이터를 가져 오거나 조각으로 다시 작성하거나 메모리에 어셈블 한 다음 end 콜백이 발생할 때 전체를 쓸 수 있습니다. 여기에 an example you can follow이 있습니다.