2017-12-08 1 views
-3

나는 느릅 나무 앱을 만든다고합니다. poloniex.com에서 bitcin의 가격을 확인하기 위해 websocket의 데이터를 요청합니다. 나는 그것을 .html 파일로 컴파일하고 Heroku 또는 내가 백엔드에서 좋아하는 서버를 말하도록 배포합니다.엘름 websocket 브라우저 내에서 원산지를 요청하십시오.

사용자가 내 웹 사이트를 방문하여 .html 파일을 요청한 다음 websocket 요청에서 bitcoin 가격을보고있는 경우 은 해당 websocket 요청을 작성하는 사용자의 IP 주소이거나 백엔드입니다 (예 : Heroku in 이 경우) websocket 요청을하는 IP 주소? 나는 두 개의 서로 다른 디자인을 고려하고 있기 때문에

내가 부탁드립니다. 백 엔드에서 비트 코인 가격 데이터를 가져온 다음 내 사용자에게 제공하거나 사용자가 소스 자체 (즉,이 경우 폴로 넥스)에서 가격을 직접 요청하도록합니다. 후자는 두통이 적지 만 모든 요청이 백엔드에서 끝나면 하나의 IP 주소 (요청 제한이 있음)가 가능하면 가능하지 않습니다.

편집 : 볼 수없는 사람들을 위해 굵게 표시됩니다. 질문이 있었다.

+0

에 해당 URL을 사용합니다. – JJJ

+0

그냥 굵게 썼습니다. 예수님, 사람들은 여기서 투표를 좋아합니다. – Jimbo

+0

@Jimbo 그렇습니다.하지만 대개 상당히 좋은 이유가 있습니다. 대부분 질문의 질을 높이는 데 도움이됩니다.이 경우 주제가 명시 적이지 않고 한 사람이 질문을 놓친 경우 다른 사람이 너무. – Murph

답변

0

당신이 표준 느릅 나무 웹 소켓 패키지, elm-lang/websocket를 사용하는 가정하면, 웹 소켓은 그것을 가리켜 어떤 URL로 연결됩니다. 이처럼 설정 한 경우 :

subscriptions model = 
    listen "ws://echo.websocket.org" Echo 

그런 다음 클라이언트 브라우저는 echo.websocket.org와 직접 연결됩니다. 해당 websocket 연결 대상은 응용 프로그램을 리퍼러로 간주하지만 연결은 클라이언트 역할을하는 사용자 브라우저의 IP와 연결됩니다. 대신 백엔드 서버 응용 프로그램 프록시 역할을하려면

, 당신은 당신이 질문을 잊어 listen

subscriptions model = 
    listen "ws://myapp.com" ... 
+0

그래서 타겟은 개별 사용자와의 연결로 내 애플리케이션을 금지하지 않습니다. 따라서 응용 프로그램은 "하나의"사용자로 간주됩니까? – Jimbo

+1

대상 응용 프로그램의 서비스 약관을 참조해야합니다. 브라우저가 poloniex.com에 직접 연결되면 poloniex.com은 사용자 브라우저의 IP를 보게되지만 Referrer 헤더에 Heroku 응용 프로그램의 URL이 표시됩니다. 타겟 서버 애플리케이션에 속도 제한을위한 토큰 인증 개념이있을 수 있습니다 (예 : Google API 사용시 API 토큰 필요). –

관련 문제