2017-01-18 12 views
0

샘플 웹 응용 프로그램을 실행하려고하는데 play-streaming-scala이 실행되고 경우에 따라 이상한 동작이 발생합니다.재생을 사용하는 서버 보낸 이벤트 : 프로세스가 종료되었을 때만 응답이 수신되었습니다.

일부 호스트의 포트 80에서 직접 실행되는 앱을 가지고 있는데 출력을 curl -iv --raw http://somehost/scala/eventSource/liveClock으로 확인하고 있습니다. 내가 기대하고있어 무엇

이 같은 것입니다 :

* Hostname was NOT found in DNS cache 
* Trying 195.176.3.71... 
* Connected to somehost (0.0.0.0) port 80 (#0) 
> GET /scala/eventSource/liveClock HTTP/1.1 
> User-Agent: curl/7.39.0 
> Host: somehost 
> Accept: */* 
> 
< HTTP/1.1 200 OK 
HTTP/1.1 200 OK 
< Transfer-Encoding: chunked 
Transfer-Encoding: chunked 
< Content-Type: text/event-stream; charset=utf-8 
Content-Type: text/event-stream; charset=utf-8 
< Date: Wed, 18 Jan 2017 13:24:55 GMT 
Date: Wed, 18 Jan 2017 13:24:55 GMT 

< 
10 
data: 14 24 56 


10 
data: 14 24 56 


10 
data: 14 24 56 

등을 명확하게 시간이 지남에 따라 덩어리가 하나씩 표시를 참조하십시오.

이제 일부 컴퓨터에서는 정상적으로 작동합니다. 캠퍼스의 일부 다른 사람들에게는 이것이 실패합니다. curl는이 표시 한 후 중지 :

* Trying 195.176.3.71... 
* Connected to somehost (0.0.0.0) port 80 (#0) 
> GET /scala/eventSource/liveClock HTTP/1.1 
> Host: somehost 
> User-Agent: curl/7.43.0 
> Accept: */* 
> 

지금은 흥미로운 일이다 : 나는 호스트의 웹 애플리케이션을 죽이면, curl이 같은 연결을 종료 갑자기 "잡는다"와 함께 모든 덩어리를 뱉어 :

10 
data: 14 35 20 


* transfer closed with outstanding read data remaining 
* Closing connection 0 
curl: (18) transfer closed with outstanding read data remaining 

어떤 행동을 일으킬 수 있습니까? 지구상에서 무슨 일이 일어나고 있고 이러한 사건들을 가로 챈 것입니까? Play 응답에서 무언가를 강제로 플러시 할 수있는 방법이 있습니까?

답변

0

OS X의 유해 컨텐츠 차단 시스템이 자동으로 청크 응답을 전달하지 않아 로컬 "숨겨진"프록시가 자동으로 설정되어 서버 송신 이벤트를 기반으로 한 시스템이 작동하지 않게됩니다. 부끄러움.