|
안녕하세요~
파일 송수신에 관련된 질문을 좀 하려고합니다.
서버 : 클라이언트 1:1 상황인경우
즉 서버에 커넥션이 1개인 경우
while문 안에서 하나의 파일을 모두 전송할때까지 루프를 돌게하였습니다.
이때 전송크기는 4096 즉 4KB 로 설정하였구요
서버의 대역폭(밴드위스)는 10M 입니다.
클라이언트의 대역폭은 자세히는 모르겠으나 1:1 수신시 9Mb정도 되는것 같습니다.
클라이언트 수신측에서 체크를 해보니 256K 잘나오면 260K까지 나오더군요
1K를 했을 경우엔 64k를 넘지 않는 밴드위스만이 확인되었습니다.
클라이언트가 2개 즉 커넥션을 하나 추가하여 같이 송신하게되면
4K씩 send할 경우 벤드위스는 4k 정도로 확연하게 떨어집니다.
1K씩 send할 경우엔 64K가 그대로 유지되구요
대략 10개의 커넥션이 되었을 경우에 4K씩 전송하게되면 서버는 잠을 자버립니다.
반면 1K씩 send할 경우엔 역시 64k가 계속 유지되구요
어떤 경우의 어떤 증상이며 어떻게 대처해야할까요?
혹시나해서 send이후에
::Sleep(1); 을 줘봤으나 문제는 해결되지 않습니다.
알려주세요~
|