問題タブ [getaddrinfo]

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.

0 投票する
1 に答える
3441 参照

c++ - getaddrinfo および inet_ntop からの偽の IP アドレス

基本的なソケット コマンドのソケット アドレスを検索するために getaddrinfo を使用しています。しかし、最近、それが返すアドレスは、inet_ntop を使用して見つけた偽の IP アドレスのものです。Beej's Guideで提供されているコードと同様に、コードを試してみましたが、どちらも同じ結果が得られました。コードは次のとおりです。

使用するアドレスに関係なく、常に次の形式の IP が返されます

16.2.x.y

ここで、256*x + y はポート番号に等しくなります。誰かがこれが起こるのを見たことがありますか、それともなぜ私にこれを与えているのか誰か推測できますか?

0 投票する
2 に答える
29956 参照

c++ - getaddrinfo() C 関数を使用してローカル IP アドレスを取得していますか?

getaddrinfo() 関数を使用してローカル (外部ではなく) IP アドレスを取得しようとしていますが、ここで提供されている例を見ましたが、ニーズに対して複雑すぎます。他の投稿も見ましたが、それらのほとんどは、ローカル IP ではなく、外部 IP を取得したいと考えていました。

この関数を使用して自分のローカル IP アドレスを取得する方法について、簡単な例 (または簡単な例) へのリンクを提供できる人はいますか?

ローカルと言うときに明確にするために、ルーターが の192.168.0.1場合、ローカル IP アドレスは次のようになります192.168.0.x(単なる例)。

0 投票する
1 に答える
2930 参照

c - C getaddrinfo() が名前を解決しない

を使用するプログラム (C で記述) がgetaddrinfo()あり、その最初のパラメーターは、アドレス情報を取得するホスト名です。たとえば、「ドメイン」としましょう。同じマシン上の私の/etc/hostsファイルでは、「ドメイン」が 192.168.1.200 に解決されるはずであることがわかります。プログラムを実行すると、毎回この呼び出しでハングし、アドレス情報を取得できません。ただし、「ドメイン」を実際の IP アドレスに置き換えると、問題なく動作します。

ところで、この問題は 1 週間ほど前には存在しませんでしたが、突然醜い頭をもたげてきた新しい問題です。先週、このマシンに何かが行われたに違いないと確信しており、他のスタッフにこれを確認しようとしましたが、彼らもなぜこれが起こるのかわかりません.

それで、私の質問は、これが突然何が起こるか知っている人はいますか? あるべきように構成されていることを確認するには、何を確認できますか? 前もって感謝します。

0 投票する
4 に答える
1606 参照

c++ - WSAGetLastError() は 122 を返します

うーん..それが何を意味するのかよくわかりませんが、私のシステムは、メモリ不足を叫ぶことなく実行され、実行されます...

Winsockエラーコード(MSDN)に122がないため、システムエラー122に関係していると思います...

手がかりがある人はいますか?...

への呼び出しで発生します。getaddrinfo(NULL, /*PortNumber*/, &hints, &pFinal)

EDIT OK...さらにコードを追加します(コメントアウトしていないと意味がありません)

問題は私の g_ACCEPTOR_PORT_NUMBER にあります。これは、次を含むクラスです。

変換演算子を変更する必要がありますか?...この「STRINGINT」を使用したいので、ポート番号を文字列と番号として保存したり、明示的に変換したりする必要はありません...

0 投票する
4 に答える
26585 参照

c - getaddrinfo と IPv6

getaddrinfo 関数が返すものを理解しようとしています:

結果 :

/etc/hosts には、次のものがあります。

Getaddrinfo は ::1 ではなく 127.0.0.1 のみを返します。理由がわかりません。

2 番目の質問は、これらの int (40、2、1、6 など) の意味をどこで見つけることができるかということです。私はその男を読みましたが、それについては何もありません。

また、IPv6 アドレス (::1 など) を指定できるかどうか、また関数が名前 : localhost を返すかどうかも知りたいと思いました。

どうもありがとう !!

0 投票する
2 に答える
8809 参照

c - getaddrinfo エラー: ai_socktype はサポートされていません

これにより、「ai_socktypeがサポートされていません」というエラーが表示されますが、コメントアウトするとうまくいきますhint.ai_protocol = AI_PASSIVE;が、なぜそれが起こるのでしょうか?

御時間ありがとうございます

0 投票する
2 に答える
15541 参照

c - ドメイン名へのIPv6アドレス

IPv6アドレスを引数としてドメイン名を返す関数を探しています。

明確にするために、2a00:1450:8006::68はipv6.google.comを返します。

(目的は、このドメイン名をgetaddrinfo関数に与えることです。)

ありがとう :-)

edit1:試しましたがgetaddrinfo("2a00:1450:8006::68", "http", NULL, &result);、「ホスト名のアドレスファミリがサポートされていません」をgetaddrinfo("ipv6.google.com", "http", NULL, &result);返し、「ホットネームにアドレスが関連付けられていません」というエラーを返します。

EDIT2:私はあなたに同意します、私はIPV6システムに問題があります、私はhttp://test-ipv6.com/を試しました、そして私はIPV6アドレスを持っていないようですが、ifconfigそれで戻ってきます:

0 投票する
3 に答える
4287 参照

c - C で getaddrinfo() を使用する Unix ソケット

C(AF_UNIX)のUNIXソケットでgetaddrinfoを使用できるかどうかは誰にもわかりません。いくつか試してみましたが、うまくいきません。これは基本的に私がしようとしていることです:

私の質問は、UNIXソケットで使用できる場合に備えて、ノードとサービスのフィールドに入力する方法です。
前もって感謝します。

0 投票する
1 に答える
11105 参照

c - getaddrinfo() 関数が間違った IP アドレスを返す

getaddrinfo() を使用して URL の IP アドレスを解決しようとしていますが、常に間違った IP アドレスが返されます。いくつかの URL で試しましたが、結果は同じです。どんな助けでも大歓迎です。

プログラムは、74.125.39.147 である実際の IP を返す代わりに、IP アドレス : 209.85.175.99 を返します。

0 投票する
2 に答える
3039 参照

c - getaddrinfo()のセグメンテーション違反

getaddrinfo()でセグメンテーション違反が発生しています。

これはスタックトレースです。

関数test_addrinfo();のソース。

valgrindで実行した後、次のログを取得しました

この関数test_addrinfo()は、私のアプリケーションの最上位層によって呼び出されます。main()が1つしかない別のアプリケーションで同じ関数をテストしました。そのアプリケーションで動作しました。

正しいgnulibライブラリまたは間違ったコンパイルフラグを使用していないのではないかと疑っています。手がかりやヒントはありますか?