3

私のIPは現在次のとおりです。123.123.123.123

プログラムでその文字列を取得するにはどうすればよいですか?

注:このIPを取得したくありません:192.168.0.10、他の人がHTTPなどを介して自分のコンピューターに接続するために使用できるIPが必要です。

注:アドレスを取得するためにip4.meなどのWebページを開きたくないので、C++だけで取得したいと思います。

私はグーグルしようとしましたが、すべての提案は「ページをロードして、それがあなたに伝えるIPを読む」でした。それが本当に唯一の方法ですか?!

4

2 に答える 2

4

http://api.externalip.net/ip/または同様のサービスから取得できますが、これらのサイトが可用性の点でどれほど信頼できるかはわかりません。

他の方法は非常に複雑になります。一般に、外部IPを通知するAPIを備えたネットワーク機器はなく、たとえ持っていたとしても、目の前に単純なxDSLルーターがあるか、アウトバウンドトラフィックを発信しているCiscoASAがあるかはわかりません。

于 2012-07-15T12:23:30.433 に答える
3

私の推奨は、レコードルートオプションを使用してパケットを送信することです。

アップストリームゲートウェイがわかっている場合は、レコードルートを設定できるpingコマンドを見つけて、そのデータを配列または正規表現で保存できるはずです。

WANIPはレコード0またはレコード1のいずれかである必要があると思います。

どのネットワークライブラリを使用していますか?

于 2012-07-15T12:36:29.087 に答える