-1
아파치 만드는 방법에 대해 궁금합니다. 내가 원하는 것은 내 컴퓨터가 1 개의 파일을 호스트 할 수있게 해주는 프로그램 (또는 스크립트)을 만드는 것이다. 교육을 제외하고는 아주 기본적인 것이 없습니다. 누군가가 포트 8080에서 내 IP로 간다. index.html기본 웹 서버 빌드
아파치 만드는 방법에 대해 궁금합니다. 내가 원하는 것은 내 컴퓨터가 1 개의 파일을 호스트 할 수있게 해주는 프로그램 (또는 스크립트)을 만드는 것이다. 교육을 제외하고는 아주 기본적인 것이 없습니다. 누군가가 포트 8080에서 내 IP로 간다. index.html기본 웹 서버 빌드
다음은 서버 응용 프로그램의 기본 구조에 대한 나의 생각입니다.
/* pseudocode */
listen_fd = socket(host, port);
// fork or create thread to listen for connections
{
while (1) {
if (0 < listen(listen_fd)) {
fd = accept(listen_fd);
// add fd to a data structure you can manage. I recommend epoll.
}
}
}
// worker process or thread
{
while (1) {
// wait for events on an fd. then read data into a buffer
n = read(fd, &buf, buf_size);
// parse request however you need to... this is a lot of the art of a web server I think.
// load and serve content
response_len = alloc_and_fread("index.html", &response, response_max_size);
send(fd, response, response_len);
}
}
좋아, 나는 알고있다.하지만 전에 네트워킹을 해 본 적이 없다. 그럼 내가 어디에서 시작 할까? 나는 fd가 무엇인지 또는 epoll인지 알지 못한다. – yuxuantim
어쩌면 내가 일반적으로 포트를 어떻게 사용 하는지를 묻고 싶다. 포트 8080이나 텔넷 23에서 파일을 보내려면 어떻게해야하고 어떻게하면 포트에서 입력을 얻을 수 있을까? – yuxuantim
내 대답은 내려졌습니다! 나는 실례입니다 : P @yuxuantim 당신은 높은 수준의 이해 또는 코드 세부 정보를 찾고 있습니까? Google 검색을 수행하면 어디에서나 찾을 수있는 예제 응용 프로그램이 있습니다. 여기 하나, http://www.paulgriffiths.net/program/c/webserv.php – inquist