2014-01-13 2 views
0
여기

enter image description hereWCF REST의 TCP 에러

http://i.stack.imgur.com/2jZOf.png

확인 문제를 나타내는 와이어 샤크로부터의 화상이다. 나는 안드로이드에서 서비스를 호출합니다. 그것은 당신이 잠시 동안 장치를 시키면 일반적으로 무작위로 발생합니다. 때로는 회복되지 않는 경우가 있습니다. 여러 번 다시 시도해야합니다. 연결은 OkHttp 풀에서 나온 것 같습니다. 어떤 해결책이 있습니까? 나는 https://stackoverflow.com/a/2475155을 시도했지만 didnt 도움. 어떤 아이디어로 그것을 해결할 수 있을까요? 참고 : 다른 클라이언트는이 tcp 재전송 중에 정상적으로 작동합니다.

답변

1

연결 풀에서 잘못된 연결 시간을 충분히 초과하지 않는 것으로 보입니다. 성능이 저하되지만 OkHttp의 연결 풀을 사용하지 않도록 설정할 수 있습니다. 코드의 어딘가에 유휴 시간을 5 초로 줄이십시오.

System.setProperty("http.keepAliveDuration", "5000"); 

이 작업을 도와 드리겠습니다. 내 생각 엔 서버가 연결을 끊고 있지만 장치가이를 추적하지 않아 풀링 된 연결이 실패합니다.

+0

예. 내 추측입니다. 그러나 원격 서버를 사용하여 이런 일이 일어나지 않습니다. 저 속성이 아니라 낮은 TCP 킵 얼라이브를 사용해 보았습니다. 최대 1-2 초 동안 고정되었습니다 .Wifi 연결이 신뢰할 수 없다면, 이런 일이 발생합니까? 저하가 크고 그 문제가 없습니다. 이상한 것은 그것이 내 로컬 서버에서 발생한다는 것입니다. 이미 5000입니다 – GorillaApe

+0

나는 TCP 레벨에서 1000ms를 keepalive로 설정하고 지금은 작동하는 것 같습니다. – GorillaApe