[hot] 네트워크 프로그래밍 - 멀티 스레드를 이용한 파일 수신 서버 작성
페이지 정보
작성일 23-02-06 23:56본문
Download : 네트워크 프로그래밍 - 멀티 스레드를.docx
// 클라이언트와 데이터 통신
다. int left = len; -> left변수는 아직 읽지않은 데이터 크기를 나타낸다. 정상종료를 제외하면 left 변수는 항상 0이므로 리턴값은 0
DWORD WINAPI ProcessClient(LPVOID arg)
char buf[BUFSIZE+1];
Recv()함수 리턴값이 0이면 (정상종료) 상대가 데이터를 더 보내지 않을 것 이므로 종료
2 실행화면 캡쳐
SOCKADDR_IN clientaddr;
네트워크 프로그래밍, 멀티 스레드,파일 수신 서버 작성
레포트 > 공학,기술계열
else if(received == 0)
return (len - left);
{
설명
int received; -> recv()함수의 리턴값을 저장하는 변수
SOCKET client_sock = (SOCKET)arg;
Download : 네트워크 프로그래밍 - 멀티 스레드를.docx( 99 )





1 소스코드 설명(explanation)
char *ptr = buf; -> 포인터 변수 ptr이 애플리케이션 버퍼의 스타트주소를 가리키고 데이터를 읽을 때마다 증가한다.
네트워크 프로그래밍 - 멀티 스레드를 이용한 파일 수신 서버 작성
while(left > 0){ -> 아직 읽지 않은 변수가 있다면 루프를 루프를 돈다
1 소스코드 설명 2 실행화면 캡쳐 Server
}
received = recv(s, ptr, left, flags);
읽은 바이트 수를 리턴한다.
return SOCKET_ ERROR;
Server
순서
ptr += received; -> ptr 변수 갱신
if(received == SOCKET_ERROR)
left -= received; -> left 변수 갱신
int addrlen;
int retval;
break;
}
Recv()함수를 호출하고 오류가 발생하면 리턴한다.