간단한 HTTP 서버 제작
글쓴이: ys4you / 작성시간: 일, 2004/04/04 - 11:33오전
안녕하십니까^^;
막 네트워크 프로그래밍을 배우기 시작해서
간단한 HTTP 서버를 제작중입니다.
일단 GET 메소드 처리는 만들어져서 익스플로러로 확인해봐도
파일 전송이 잘 되는걸 확인할 수 있습니다.
그런데 여기서 의문인 것이 html파일 내에 embed 태그를 이용한 부분인데요
동영상 파일 하나만 요청해서 다운로드 받을 때에는 전혀 문제 없이 전송이 잘 되는데
embed 태그를 이용해서 보려고 하면 보내는 도중에 Broken Pipe가 뜨면서 서버가 죽네요...;;
일단 파일 전송하는 부분 소스만 올려보겠습니다.
write(newfd, "HTTP/0.9 200 OK\r\n", 17); write(newfd, "Connection: close\r\n", 19); strcpy(token, "Content-Length: "); itoa(temps, filestat->st_size); strcat(token, temps); strcat(token, "\r\n"); write(newfd, token, strlen(token)); printf("%s\n",token); sendType(newfd, filename); write(newfd, "\r\n", 2); srcfd = open(filename, O_RDONLY); printf("%s Opened successfully...\n\n",filename); while((size=read(srcfd, temps, 200))!=0) { cs+=size; write(newfd, temps, size); /* printf("%d\tbytes sended...\n",++i);*/ } close(srcfd);
저 위에서 sendType함수는 확장자에 따라서 Content-Type을 전송해주는 함수이구요...
음...뭐가 잘못된건지;;
Forums:
댓글 달기