샘플 웹 응용 프로그램을 실행하려고하는데 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 응답에서 무언가를 강제로 플러시 할 수있는 방법이 있습니까?