0

「C.クライアントは、アプリケーションを実行しているユーザーの地理的位置を知る必要があります。地理的位置コードはすべて機能しています(MaxMind: を使用http://dev.maxmind.com/)。しかし今、私は彼らの外部 IP を取得するための助けを求めています。

このトピックに関する SO 全体および他の場所でのすべての議論から、「信頼できる」ホスト (サーバー) に接続してから何らかのルックアップを行うことで、これを行う方法があるようです。私は WinSock にあまり精通していませんが、これは最も使いやすいテクノロジです。もう 1 つのオプションは、WinHttpConnect テクノロジを使用することです。どちらも「C」インターフェースを備えています。

ご支援とご提案をありがとうございます。

4

1 に答える 1

0

Web サービスへの接続時にプログラムが提示する IP アドレスをチェックする単純な Web サービスを作成できます。

例としてhttp://whatismyip.comを見てください。

ルート上にプロキシ サーバーがある場合、HTTP プロトコルによって複数のアドレスが提示される可能性があることに注意してください。

クライアントの IP を取得する単純な Web サービスを設計できます。見る

WebMethod で発信者の IP アドレスを取得するにはどうすればよいですか?

そのアドレスを発信者に返します。

ケースの約 15% (私の経験メトリック) で、地理的位置がかなりずれていることに注意してください。古典的な例は、ほとんどの AOL ユーザーが少数のプロキシ サーバーを介してルーティングされることです。ただし、パブリック IP がユーザーの実際の場所と一致しない場合は他にも多数あります。さらに、Geo IP データベースが間違っている場合もあります。

編集

ブラウザ内コードのみを使用して外部 IP アドレスを検出することはできません。

WebSocket には、外部 IP アドレスを公開するための準備がありません。

https://www.rfc-editor.org/rfc/rfc6455

どの IP を認識しているかを伝えるには、外部サーバーが必要です。

于 2012-10-02T17:20:39.403 に答える