2012-08-23 4 views
2

HttpUrlConnection을 사용하여 서버와 통신하고 있습니다. 지연은 매우 중요하며 WireShark로 tcpdump 로그를 분석 한 후 Nagle의 알고리즘이 문제라는 결론에 도달했습니다.HttpUrlConnection을 사용할 때 Nagle의 알고리즘을 비활성화 할 수 있습니까?

Nagle의 algorim은 TCP_NODELAY 옵션을 설정하여 사용할 수 없지만 HttpUrlConnection을 사용할 때 어떻게 할 수 있는지를 알 수는 없다는 것을 알고 있습니다 ... 가능합니까?

감사합니다.

답변

3

SocketsetTcpNoDelay()을 통해이 작업을 수행 할 수 있습니다.

그래서 기본 소켓에 액세스하거나 (불행히도) HTTP URL 연결을 다시 코딩 할 수 있다면 운이 좋을 수도 있습니다.

더 좋은 해결책은 HttpClient 일 수 있습니다. HttpConnectionParams은이 정보를 노출합니다 (이 옵션을 사용할 수 있는지 여부는 알 수 없으므로 안드로이드에 익숙하지 않습니다.)

관련 문제