2013-06-14 9 views
11

Rook을 사용하여 일부 네트워크 응용 프로그램을 만들었습니다.이 웹 응용 프로그램은 포트 8000에서 내 네트워크 IP (192.168.xx.xx)를 청취합니다. 내 사무실의 모든 사람들이 타이핑 만하면됩니다. 브라우저에서 http://192.168.xx.xx:8000/page_name 이 페이지 사용량을 모니터하고 네트워크 IP 주소를 어떻게 얻을 수 있는지 궁금합니다.Rook/Shiny 페이지 사용자의 개인 IP 주소 얻기

저는 웹 개발에 익숙하지 않고 지금까지 수행 된 연구 결과에서 JavaScript과 같은 클라이언트 측 코드를 사용하면이를 달성하는 것이 거의 불가능하다는 것을 알 수 있습니다. 그래서, 내 질문은 : 거기에 Rook 응용 프로그램 내부 서버 쪽 코드를 사용하여 네트워크 클라이언트 IP 가져 오는 방법은 무엇입니까? (필요한 경우 웹 서버를 변경할 의향이 있습니다.

내 질문에 혼란 스러울 것 같아서 미리 감사드립니다 ... 특히 다른 태그가 필요한지 확실하지 않습니다.

편집 : 나는이 link 다음 반짝 서버를 설정 한 : 나는 또한 (R 여전히하지만) Rook 다른 뭔가

편집 2를 사용하여 답변을 받아 들일 것입니다. @Thell에 따라 필요한 정보가 들어있는 access_log을 얻기 위해 서버를 구성하는 단계에 있습니다. shiny-server.conf에서 나는 상대적 문을 추가하고 지금 한 :

run_as shiny; 

server { 
    listen 3838; 

    location/{ 
    site_dir /var/shiny-server/www; 
    log_dir /var/shiny-server/log; 
    directory_index on; 
    } 

} 

access_log /home/michelec/log.txt; 

마지막 줄 내 홈 폴더로 ACCESS_LOG를 작성 반짝 알려 주어야합니다. 그러나 아무 일도 일어나지 않으면 로그는 공백으로 남습니다. here에 따르면, 형식 섹션에서는 이러한 로그 중 하나가 나타납니다 :

default ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"' 
short ':remote-addr - :method :url HTTP/:http-version :status :res[content-length] - :response-time ms' 
tiny ':method :url :status :res[content-length] - :response-time ms' 
dev concise output colored by response status for development use 

를 기본 형식을 떠나거나 당신이 그것을 변경하는 경우 따라 달라집니다.

+1

코드를 사용할 수 있습니까? 기본 문서 이외에 Rook에는 많은 부분이 없으므로 질문에 대답하는 데 약간의 실험이 필요할 것입니다. 재현 가능한 예제가 필요할 것입니다. – SchaunW

+0

@SchaunW 답장을 보내 주셔서 감사합니다. 죄송합니다. 아직이 작업을 수행 할 코드가 없습니다. 나는 매일 reasearch하고있다. 그것이 그렇듯이, 질문은 단지 (유효한) 입력으로도 코딩을 시작하는 것으로 대답 될 것입니다. – Michele

+2

나는 오늘 이걸 가지고 놀았다. -'ip()'가 네가 겪어야 할 것처럼 보였지만, 그걸로 어떤 결과도 얻을 수 없었다. – alexwhan

답변

3

Rook은 rApache가 지원할 때 원격 추가 기능 만 제공합니다.

또 다른 옵션은 RStudio @ 미세 사람에서 설정 shiny-server하는 것 다음 configure the access log 당신은 사용하여 선택한 access log format 당신이 선택하는 것으로 해석 할 수있을 것 같은 것이다.

반짝이는 샤이니 (RStudio의 공식 제품 임)에 도움이 된 rApache의 저자로서 Shiny 솔루션에 기대고 있습니다. 우리는 can't really say about rApache과 마찬가지로 입니다!).

+0

이번 주 동안 기다려 주셔서 감사합니다! 그런데 요즘, 반짝 반짝 빛나기 시작하면서,'Node.js'에 빌드 된 것을 보았습니다.이 모듈은'connect' 모듈을 통해 IP를 매우 쉽게 얻을 수 있도록합니다. 이 모듈은'access_log'의 배후에 있지만 불행히도 반짝 반짝 빛나고 Node와는 다르게 검색된 IP를 서버 측 코드에 액세스 할 수 없습니다. 이 토론 [https://groups.google.com/forum/#!searchin/shiny-discuss/susan/shiny-discuss/EGQhEyoEk3E/lNQ5jLbPOBsJ]에 따르면 그들은 그것에 노력하고 있습니다 – Michele

+1

내 기쁨. 재미있는 ... 나는 API에 상당히 쉽게 삽입 될 수 있다고 확신한다. 이러한 모든 유형의 제어 기능은 엔터프라이즈 에디션에서 필요합니다. 인내심을 갖고 있어야합니다. 또는 더 나은 아직, 그 반짝 이는 소스를 해킹! :) – Thell