2011-09-28 4 views
1

httpWebResponse을 사용하여 웹 URL (Google 네트워크에서)의 응답을 읽습니다. StreamReader ReadToEnd()을 사용하여 응답을 읽는 동안 패킷에서 데이터를 가져오고 각 패킷의 크기는 약 500 bytes입니다.웹 응답을 읽는 패킷 크기를 늘리는 방법

이 패킷 크기를 약 512 KB까지 어떻게 증가시킬 수 있습니까?

+0

왜? – SLaks

+0

그래서 한 번에 모든 데이터를받을 수 있습니다. 내 경우에는 512KB 데이터를 다운로드하는 동안 약 4 초가 걸리는 ReadToEnd()가 필요합니다. – Vjs

+0

패킷 크기를 변경하는 것은 도움이되지 않습니다. 느린 서버 또는 연결 일뿐입니다. – SLaks

답변

1

패킷 크기는 (주로) 코드를 가져 오는 것이 아닙니다. 이는 서버가 전송하는 패킷의 크기에 달려 있으며, 나머지 패킷에 의해 패킷이 더 분할 될 수 있습니다.

단순히 512K의 TCP/IP 패킷을 가질 수 없으며 상관하지 않아야합니다. 이것은 TCP/IP가 작동하는 방법입니다. 데이터에 대한 여러 HTTP 요청을하는 것과 달리 일반적인 TCP/IP 채널을 사용하는 것입니다.

브라우저에서 동일한 데이터를 가져 오는 방법을 살펴보십시오. 동일한 방식으로 패킷으로 분할 된 것을 볼 수 있습니다.

편집 : 귀하의 의견에서 볼 때 데이터를 가져 오는 데 4 초가 걸렸습니다. 그렇습니다. 꽤 오랜 시간입니다. 그러나 데이터를 가져 오거나 생성하고 전송하는 데 시간이 걸릴 수도 있습니다. 당신은 실제로 여기에 많은 문맥을 부여하지 않았습니다. ("웹 사용자"는 무엇입니까?)하지만 나는 잘못된 장소에서 최적화하려고 노력하고 있다고 생각합니다.

+0

웹 URL (동일한 네트워크에서) – Vjs

+0

@Vjs : "동일한 네트워크"란 무엇을 의미합니까? 내부 회사 네트워크에 있다면 512K를 전송하는 데 4 초가 걸리는 것은 거의 확실합니다. 웹 서버가 실제로 콘텐츠를 찾거나 만들 때 오래 걸릴 것이기 때문입니다. 패킷 크기는 여기서의 문제가 아닙니다. –

관련 문제