간단한 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:


댓글 달기