問題タブ [maxmind]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MaxMind GeoIP Reader Dispose の問題 - Reader.Dispose() に続く mmdb ファイルでの UnauthorizedAccessException
MaxMind.Db.Reader クラスを使用して GeoLite2-City.mmdb ファイルにアクセスしていますが、リーダーで dispose を呼び出した後、ファイルに対して特定のアクションを実行するとファイル アクセスの問題が発生します。
この問題を再現する最も簡単な方法は、MaxMind.Db.Benchmark プロジェクトに似たコンソール アプリケーションを用意することです。これには、私の場合は _cityReader と呼ばれる Reader クラスの静的インスタンスがあります。
ここで、_cityReader 変数を Reader の新しいインスタンスに設定し、それに対して dispose を呼び出し (これも null に設定)、ファイルを移動し (移動は正常に動作します)、ファイルの新しい場所で delete を呼び出すと、UnauthorizedAccessException が発生します。削除操作で...
私が見つけたのは、リフレクションを使用して_cityReader._stream.ValueプロパティのDisposeを呼び出すと、このシナリオでは、_cityReader変数自体でdisposeを呼び出す前に、ファイルが削除されるということです...
しかし、これに加えて、作成されたスレッドとは別のスレッドで静的リーダー オブジェクトを実際に破棄すると、そのシナリオでリフレクションを使用してこのビットを実行しても、UnauthorizedAccessException が引き続き発生することがわかります。このシナリオでは、_cityReader 変数を破棄して null に設定した後で、ガベージ コレクションを強制する必要があることがわかりました。これを再現するために、コンソールアプリに次のような静的メソッドがあります...
次に、コンソールアプリのメインメソッドでこれを持っています...
そのコード サンプルは機能しますが、DisposeReaderAndSwitchFiles メソッドから GC.Collect() 呼び出しを削除すると、UnauthorizedAccessException が発生します。
MaxMind.Db.Reader オブジェクトで同様の問題を経験した人はいますか?
私が間違っていること、または私がすべきことは他にありますか? ガベージコレクションを強制するのは少し汚い気がするので、できれば避けたいと思います。
ありがとう、
フィル
.net - MaxMind.GeoIP2.DatabaseReader はスレッドセーフですか?
トラフィックの多い環境で MaxMind.GeoIP2 を使用するつもりです。つまり、多くのスレッドが MaxMind.GeoIP2.DatabaseReader を共有します。ドキュメントは明確ではありません。スレッドセーフかどうか知りたいですか?
これは私が使用しているドキュメントhttp://maxmind.github.io/GeoIP2-dotnet/doc/v0.4.0/index.htmlです (最新の利用可能なバージョンだと思います)
php - PHPはMaxmind Geolite2で都市名を緯度/経度に変換します
Maxmind geolite2 データベースを使用して都市/州名を入力して緯度/経度を取得するにはどうすればよいですか?
(IP ルックアップ用に geolite2 php API を既にインストールしていますが、さらに逆に使用したいので、いわば)
PHPでこれを行う別の実用的な方法がある場合は、ぜひお知らせください。ただし、これにはGoogle geo-encoder APIまたはその他の外部APIを使用したくありません.
ありがとう!
php - maxmind geoipによるphp国ドロップダウン
IP アドレスに基づいてユーザーの国を事前に選択できる国ドロップダウンを作成したいと考えています。たとえば、ユーザーがイタリアにいる場合、リスト内の他のすべての国を維持しながら、最初にイタリアを表示する必要があります。
私はたくさん検索し、Maxmind GeoIP API とデータベースをダウンロードすることから始めました。これは私が試したもので、IPで国を事前に選択せずに通常のドロップダウンリストのみを表示します:
私は本当に自分で解決策を見つけるために最善を尽くしました。これらの同様の質問をすべて読み、次のような他の解決策も試しました: Geopluginを使用した国に基づく自動ドロップダウン、phpでIPアドレスを使用して現在の国名を取得、 IPアドレスの国を取得PHPを使用して、訪問者の国を IPなどから取得しますが、なぜ機能しないのかわかりません。私はうまくいったこのコードを試したので、IPを取得できることがわかりました:
また、このサンプルは私にとってはうまくいきました(出力はESスペインです)、
しかし、「80.24.24.24」を $ip に置き換えるだけでまったく同じコードを試してみると、何も返されません!!
#EDIT: @vch のおかげで、問題はプライベート ネットワーク用であるため、私の IP に関連していることがわかりました。そのため、ifconfig で実際のインターネット IP を取得し、それをコードで使用したところ、うまく機能しました。この時点まで、インストールした geoip api に問題はなく、ドロップダウンの事前選択もうまく機能することがわかりました。
これは新しいコードです:
私の質問は、ユーザーが私のようなプライベート ネットワークを使用している場合に、ユーザーの実際のインターネット IP を取得する方法です。
すべてのアイデアは高く評価され、
ありがとう、
javascript - maxmind javascriptでipから情報を取得する方法
maxmind javascriptでユーザーのIP、場所、都市、国などを取得したいのですが、nullになってしまいました。
また、無制限に使用できるように maxmind JavaScript をプラグインに配置してもよいですか?
ここに私のJavaScript:
HTMLはこちら