2016-12-07 13 views
0

curl을 클라이언트 측, jersey 및 grizzly를 서버 측에서 사용하면 서버에서 클라이언트 단절을 감지 할 수 없습니다. 서버가 클라이언트에 메시지를 쓰는 경우에도 ChunkedOutput.write가 성공합니다.Jersey ChunkedOutput - 클라이언트 분리를 감지하는 방법?

청크 출력에 기록 할 수있는 그리즐리 또는 저지 구성이 실패 했습니까?

답변

0

Grizzly - Worker-thread IOStrategy를 사용할 때 ChunkedOutput 객체 (Jersey 객체)가 클라이언트의 연결을 즉시 인식하지 못하는 것처럼 보입니다.

나는 같은 스레드 IOStrategy를 사용하여 끝났다. 이것은 모든 앱을위한 최선의 해결책은 아닐지 모르지만, 내 경우에는 훌륭합니다.

NetworkListener listener = new NetworkListener("grizzly2", host, port); 
listener.getTransport().setIOStrategy(SameThreadIOStrategy.getInstance()); 

또한 쓰기 버퍼를 작업자 스레드 IOStrategy를 사용 낮추는 시도하십시오 BUFFERSIZE 보낸 실제 메시지보다 작은 때

NetworkListener listener = new NetworkListener("grizzly2", host, port); 
listener.getTransport().setWriteBufferSize(bufferSize); 

이도 일했다.