당연히 단순한 거여야 하는데 뜻밖에 찾기 어려웠음.
그동안 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;
}
이건 그냥 예제일 뿐이고..
시간값 계산하는건 나중에 따로 만들어서 올리덩가 하겠음.
그냥 아이디어 차원에서 보기바람.
댓글 없음:
댓글 쓰기