2012-11-27 2 views
1

조금 혼동하여 EventSource 동작.첫 번째 메시지 후 EventSource 연결이 끊어짐

첫 번째 메시지가 수신 될 때까지 연결되어 계속 연결되어 있습니다.

내가 data: something\n\n 메시지를 보내면 연결이 끊어지고 새 메시지가 만들어집니다.

헤더를 사용하면 연결이 이벤트 스트림으로 인식되고 검사자는 pending 상태를 표시합니다.

내가 말했듯이 첫 메시지를 보낼 때까지 모든 것이 잘 작동합니다.

이 후 연결이 끊어지고 새 메시지가 만들어지고 메시지가 브라우저로 전송되지 않습니다 (최소한 페이지를 업데이트해야 함).

내 서버와 클라이언트 코드는 여기 정확히 : http://www.html5rocks.com/en/tutorials/eventsource/basics/

이 모든 브라우저에서 발생합니다.

답변

5

서버 코드가 Transfer-Encoding 헤더를 보내지 않았는지 확인하십시오.

또는 전송하는 경우 청크로 설정되지 않았는지 확인하십시오.

EventSource 당신은 Transfer-Encoding 헤더를 제거하거나 identity로 설정할 수 있습니다 청크 Transfer-Encoding

에 이상한 동작합니다.

그래도 도움이되지 않으면 웹 서버가 해당 헤더를 청크로 설정하지 않았는지 확인하십시오.

해당 설정을 업데이트 할 수없는 경우 코드가 헤더를 identity으로 설정하는지 확인하십시오 (코드로 설정된 헤더는 웹 서버에서 설정 한 헤더보다 우선 적용됩니다). 당신은 단순히 코드에서 헤더를 제거하면

, 브라우저가 웹 서버에 의해 한 세트를 사용합니다,
그렇게 identity로 설정보다는 제거해야합니다.

+0

Doh! ID 전송 인코딩과 함께 작동합니다! 왜 이것이 어디에서 문서화되지 않습니까? 고마워요! –

+1

음, 여기 [http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#notes] :)에 설명되어 있습니다. –

관련 문제