2010년 4월 23일 금요일

TCP 전송 속도 조절하기

당연히 단순한 거여야 하는데 뜻밖에 찾기 어려웠음.

그동안 TCP의 성능을 높이려는 노력은 많았으나, 전송속도를 조절하는 것은 네트웍 레벨에서는 거의 불가능함.

근데 대부분의 P2P 사이트/프로그램등에서 전송속도를 제한해서 쓰고 있음.

당연히.

흔한 방법이고 좀더 나이스한 방법이 제시되어 있을거라 생각했는데..

걍 시간값 잡아서 통계낸 담에 sleep 주고 있었음.

while(!feof(fp) && sent_len < fragment_size)
{
int size;
size=fread(&ch, 1, 1, fp);
ret=send(sockfd, &ch, size, 0);

if(ret<=0)
{
break;
}

if((sent_len % 512)==0) usleep(100);//nanosleep(&rate_timer, NULL);
sent_len+=size;

}

이건 그냥 예제일 뿐이고..

시간값 계산하는건 나중에 따로 만들어서 올리덩가 하겠음.

그냥 아이디어 차원에서 보기바람.

댓글 없음:

댓글 쓰기