Socket통신 중에 HTTP msg를 send한 후 recv로 file을 다운로두 합니다.
그런데, recv하는 buff사이즈를 4000으로 해 두고 recv()를 while문으로 걸어서 download를 하게 해 두었는데요,
문제는 파일 전송이 끝났을 때 이 recv가 0을 리턴하지 않네요.
전송이 끝나면 recv가 0을 리턴하지 않나요? 파일전송 끝에 0을 리턴하지 않는 경우는 없는것으로 아는데, 뭐가 잘못된 것인지요..
왜 마냥 블럭되어 기다리는지요..
해당 코드를 한번 첨부해 봅니다.
do{
nReceived= recv(m_nTCPSocketFD, recvBuf,RECV_BUF_SIZE,0);