2012-09-22 4 views
2

장기간 리스너, 최초 발신자.Node가 * 클라이언트 *로 긴 폴링 스트리밍 데이터

클라이언트으로 Node를 사용하여 긴 폴링을 사용하는 실시간 데이터 스트림에 연결하고 데이터를 수신 할 때 각 항목을 처리해야합니다.

Node를 긴 폴링 서버로 사용하고 클라이언트로 사용하는 것에 대한 정보는 많이 있습니다.

URL을로드하는 데 "요청"모듈을 사용하는 방법을 알고 있지만 문제는 연결이 닫힌 후에 발생하는 "완료되지 않은"콜백입니다. 연결이 열린 상태에서 실시간으로 수신되는 데이터에 액세스 할 수 없습니다. 연결이 끊어 질 때만 사용합니다.

노드가 원격 서버에 HTTP 연결을 열고 데이터를 수신 할 때마다 이벤트를 발생시키는 방법이 있습니까?

또 다른 질문은 ... HTTP 연결이 진행되는 동안 모든 데이터가 들어갈 버퍼를 액세스하는 방법이 있습니까?

감사합니다 !!!

답변

2

요청 모듈을 사용하지 마십시오. 노드에 내장 된 것을 사용하면 매우 간단합니다.

http://nodejs.org/api/http.html#http_event_data

response.on('data', function (chunk) { 
    // chunk is the data just received 
}) 

요청 모듈 자체

비슷한 방법이 있습니까,하지만 난 그게 내 머리 위로 떨어져 무엇인지 모른다.

+0

소리가 정확히 내가 좋아하는 것 ... 감사합니다 !!! – John

+1

그냥 설정하고 완전히 작동 ... – John

2

http.request()의 예가 효과가 있습니까?

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    res.setEncoding('utf8'); 
    res.on('data', function (chunk) { 
    console.log('BODY: ' + chunk); 
    }); 
}); 
req.end(); 
관련 문제