Linux에서 실행되는 C로 작은 사용자 정의 웹 서버 응용 프로그램을 작성했습니다. 응용 프로그램이 요청을 받으면 fork()를 호출하고 별도의 프로세스에서 요청을 처리합니다.이 프로세스는 사용 가능하게하려는 파일이 들어있는 특정 디렉토리로 chroot됩니다.Windows 서버 응용 프로그램의 fork/chroot 해당
응용 프로그램을 Windows로 포팅하려고하지만이 플랫폼에서는 fork() 및 chroot()도 사용할 수 없으며 직접적인 동등한 프로그램이없는 것 같습니다. Windows에서이 기능을 제공하는 코드의 간단한 (그리고 잘 작성된) 예제를 가르쳐 주시겠습니까? 내 C는 그다지 좋은 것이 아니므로 더 간단할수록 좋습니다.
지금까지 fork()에 대한 간단한 대안이 없다는 답변이 나왔습니다. 쓰래드가 새로운 프로세스를 포크하는 것이 아니라 코드 예제를 좋아할 것입니다. 이 문제의 fork() 및 chroot() 부분을 처리해야하는 Windows (예 : Apache)에서 실행되는 많은 웹 서버가 있으며 일반적으로 취해진 접근법과 관련 부분에 대한 링크를 간단히 받아들입니다 아파치 (또는 다른) 소스의. – codebox
귀하의 의견을 감안할 때 Cygwin 샘플 소스를 기반으로하지 말고 대신 Apache Portable Runtime 라이브러리를 사용하여 세부 정보를 처리하는 것이 좋습니다. –
나도 네가 어떤 도서관에 가야한다고 생각해. 참조 : http://www.gnu.org/software/libmicrohttpd/ - Windows와 Unix를 모두 지원하는 HTTP 서버 라이브러리. 프로그램에 웹 서버 기능을 내장하는 데 사용됩니다. http://abyss.sourceforge.net/ - win/unix 용 웹 서버 또한 스레드와 프로세스를 잊어 버리고 논 블로킹 IO를 사용할 수 있습니다. 이 방법을 사용하면 하나의 프로세스 만 필요하고 목록이나 배열의 연결을 추적 할 수 있습니다. 예를 들면 다음과 같습니다. http://www.cubicsky.com/files/shinyhttpd-0.1.3-src.tar.gz –