2013-05-21 2 views
1

나는 클라이언트로부터 파일을받는 것을 처리하는 아파치 모듈을 작성했다. 이제 클라이언트에게 응답을 보내려고합니다. 응답에 모듈로 보낸 파일의 파일 경로를 나타내는 문자열을 포함하고 싶습니다. 내가 아파치 모듈을 작성하는 데 익숙하지 않아서, 응답 구조체가 필요한지, 아니면 필요한 모든 것이 request_rec에 있는지를 확신 할 수 없다. ap_rprintf가 클라이언트에 데이터를 보내는 것으로 나타났습니다. 그냥 사용해야합니까? 그렇다면 어떻게 클라이언트로 다시 전송됩니까? (즉, 내 클라이언트가 다시 전송 된 문자열에서 문자열을 추출 할 수 있습니까?)아파치 C 모듈 클라이언트에게 응답을 보내는 방법

감사합니다.

편집 : 나는 방금 apr_socket_send()를 우연히 발견했지만이 경우 작동하는지 모르겠습니다. request_rec은 연결을 저장하므로 클라이언트에 소켓을 만들어 데이터를 다시 보낼 수 있습니까?

+0

? 너 뭐 해봤 니? 테스트 케이스는 어디에 있습니까? 무엇이 잘못 되었습니까? – Sebivor

답변

3

mod_example의 소스 코드를 확인 했습니까?

기본적으로 :

당신이 읽고있는 매뉴얼
r->content_type = "text/html"; 
ap_send_http_header(r); 
ap_rputs(DOCTYPE_HTML_3_2, r); 
ap_rputs("<HTML>\n", r); 
... 
ap_rprintf(r, "Stuff that you want to send in the body"); 
... 
+0

ap_rprintf가 어떻게 데이터를 클라이언트로 다시 보냅니 까? 응답 헤더에 추가됩니까? – thaweatherman

+0

위의 두 번째 줄은 응답 헤더를 보냅니다. 그런 다음 ap_rprintf는 printf와 같습니다. 단지 클라이언트에 연결된 스트림에 씁니다. –

+0

확인. 그래서 그 데이터를 스트림에 쓸 때 클라이언트는 연결에서 그것을 추출 할 수 있어야합니다. – thaweatherman