2017-12-08 3 views
-3

私はelmアプリケーションを作っています。それはpoloniex.comからビットコインの価格をチェックするためにウェブソケットからのデータを要求する。私はそれを.htmlファイルにコンパイルして、それをHerokuや、バックエンドで好きなサーバに伝えます。Elm websocketはブラウザ内での要求元です

ユーザーが自分のWebサイトにアクセスして、.htmlファイルを要求し、websocketリクエストのビットコイン価格を調べると、は、そのwebsocketリクエストを行うユーザーのIPアドレスまたはバックエンドのものですこの場合)WebSocketリクエストを行うIPアドレス?

私は2つの異なるデザインを検討していたので質問します。バックエンドにビットコインの価格データを引き入れ、それをユーザーに提供するか、ユーザーがソース(つまりこの場合はポロニクス)から価格を直接要求するようにします。後者は頭痛が軽減されますが、すべてのリクエストがバックエンドから、したがって1つのIPアドレスから来る場合はできません(リクエスト制限があります)

編集:質問があった。

+0

にそのURLを使用します。 – JJJ

+0

ちょうど太字にしました。イエス様、人々はここに投票するのが大好きです。 – Jimbo

+0

@Jimboはい、彼らはそうです - しかし、かなりの理由がありますが、大部分は質問の質に役立ちます - この場合、主題は明白ではなく、ある人が質問を逃した場合、他人があまりにも。 – Murph

答えて

0

標準のElm Websocketパッケージ(elm-lang/websocket)を使用していると仮定すると、websocketはそのURLを指す任意のURLに接続します。あなたはこのようにそれを設定した場合:

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

そして、クライアントのブラウザはecho.websocket.orgに直接接続します。そのwebsocket接続のターゲットは、おそらくアプリケーションを参照元として見ますが、その接続はクライアントとして動作しているユーザーのブラウザのIPになります。

あなたの代わりにプロキシとして動作するバックエンド・サーバ・アプリケーションが必要な場合は、あなたが質問をするのを忘れてlisten

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

したがって、ターゲットは個々のユーザーとの接続になるため、アプリケーションを禁止しません。したがって、アプリケーションは「1人のユーザー」と見なされますか? – Jimbo

+1

対象のアプリケーションの利用規約を参照する必要があります。ブラウザーがpoloniex.comに直接接続すると、poloniex.comにはユーザーのブラウザーのIPが表示されますが、参照ヘッダーにHerokuアプリケーションのURLが表示される可能性があります。ターゲットサーバーアプリケーションにレート制限のためのトークン認証の概念があるかもしれません(たとえば、Google APIを使用する場合はAPIトークンが必要です) –

関連する問題