問題タブ [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.
c++ - getaddrinfo および inet_ntop からの偽の IP アドレス
基本的なソケット コマンドのソケット アドレスを検索するために getaddrinfo を使用しています。しかし、最近、それが返すアドレスは、inet_ntop を使用して見つけた偽の IP アドレスのものです。Beej's Guideで提供されているコードと同様に、コードを試してみましたが、どちらも同じ結果が得られました。コードは次のとおりです。
使用するアドレスに関係なく、常に次の形式の IP が返されます
16.2.x.y
ここで、256*x + y はポート番号に等しくなります。誰かがこれが起こるのを見たことがありますか、それともなぜ私にこれを与えているのか誰か推測できますか?
c++ - getaddrinfo() C 関数を使用してローカル IP アドレスを取得していますか?
getaddrinfo() 関数を使用してローカル (外部ではなく) IP アドレスを取得しようとしていますが、ここで提供されている例を見ましたが、ニーズに対して複雑すぎます。他の投稿も見ましたが、それらのほとんどは、ローカル IP ではなく、外部 IP を取得したいと考えていました。
この関数を使用して自分のローカル IP アドレスを取得する方法について、簡単な例 (または簡単な例) へのリンクを提供できる人はいますか?
ローカルと言うときに明確にするために、ルーターが の192.168.0.1
場合、ローカル IP アドレスは次のようになります192.168.0.x
(単なる例)。
c - C getaddrinfo() が名前を解決しない
を使用するプログラム (C で記述) がgetaddrinfo()
あり、その最初のパラメーターは、アドレス情報を取得するホスト名です。たとえば、「ドメイン」としましょう。同じマシン上の私の/etc/hosts
ファイルでは、「ドメイン」が 192.168.1.200 に解決されるはずであることがわかります。プログラムを実行すると、毎回この呼び出しでハングし、アドレス情報を取得できません。ただし、「ドメイン」を実際の IP アドレスに置き換えると、問題なく動作します。
ところで、この問題は 1 週間ほど前には存在しませんでしたが、突然醜い頭をもたげてきた新しい問題です。先週、このマシンに何かが行われたに違いないと確信しており、他のスタッフにこれを確認しようとしましたが、彼らもなぜこれが起こるのかわかりません.
それで、私の質問は、これが突然何が起こるか知っている人はいますか? あるべきように構成されていることを確認するには、何を確認できますか? 前もって感謝します。
c++ - WSAGetLastError() は 122 を返します
うーん..それが何を意味するのかよくわかりませんが、私のシステムは、メモリ不足を叫ぶことなく実行され、実行されます...
Winsockエラーコード(MSDN)に122がないため、システムエラー122に関係していると思います...
手がかりがある人はいますか?...
への呼び出しで発生します。getaddrinfo(NULL, /*PortNumber*/, &hints, &pFinal)
EDIT OK...さらにコードを追加します(コメントアウトしていないと意味がありません)
問題は私の g_ACCEPTOR_PORT_NUMBER にあります。これは、次を含むクラスです。
変換演算子を変更する必要がありますか?...この「STRINGINT」を使用したいので、ポート番号を文字列と番号として保存したり、明示的に変換したりする必要はありません...
c - getaddrinfo と IPv6
getaddrinfo 関数が返すものを理解しようとしています:
結果 :
/etc/hosts には、次のものがあります。
Getaddrinfo は ::1 ではなく 127.0.0.1 のみを返します。理由がわかりません。
2 番目の質問は、これらの int (40、2、1、6 など) の意味をどこで見つけることができるかということです。私はその男を読みましたが、それについては何もありません。
また、IPv6 アドレス (::1 など) を指定できるかどうか、また関数が名前 : localhost を返すかどうかも知りたいと思いました。
どうもありがとう !!
c - getaddrinfo エラー: ai_socktype はサポートされていません
これにより、「ai_socktypeがサポートされていません」というエラーが表示されますが、コメントアウトするとうまくいきますhint.ai_protocol = AI_PASSIVE;
が、なぜそれが起こるのでしょうか?
御時間ありがとうございます
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
それで戻ってきます:
c - C で getaddrinfo() を使用する Unix ソケット
C(AF_UNIX)のUNIXソケットでgetaddrinfoを使用できるかどうかは誰にもわかりません。いくつか試してみましたが、うまくいきません。これは基本的に私がしようとしていることです:
私の質問は、UNIXソケットで使用できる場合に備えて、ノードとサービスのフィールドに入力する方法です。
前もって感謝します。
c - getaddrinfo() 関数が間違った IP アドレスを返す
getaddrinfo() を使用して URL の IP アドレスを解決しようとしていますが、常に間違った IP アドレスが返されます。いくつかの URL で試しましたが、結果は同じです。どんな助けでも大歓迎です。
プログラムは、74.125.39.147 である実際の IP を返す代わりに、IP アドレス : 209.85.175.99 を返します。
c - getaddrinfo()のセグメンテーション違反
getaddrinfo()でセグメンテーション違反が発生しています。
これはスタックトレースです。
関数test_addrinfo();のソース。
valgrindで実行した後、次のログを取得しました
この関数test_addrinfo()は、私のアプリケーションの最上位層によって呼び出されます。main()が1つしかない別のアプリケーションで同じ関数をテストしました。そのアプリケーションで動作しました。
正しいgnulibライブラリまたは間違ったコンパイルフラグを使用していないのではないかと疑っています。手がかりやヒントはありますか?