問題タブ [gethostbyname]
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.
ip - 192.168.1.102 などのローカル IP アドレスを報告するプログラムの書き方
私の Linksys ルーターはコンピューター (PC と Mac と Linux) に固定のローカル IP を割り当てないので、毎分コンピューターが相互に更新されるようにスクリプトを書きたいと思います。
各マシンには、すべての PC と Mac の名前のリストと、それらの apache サーバーへのリンク ( http://192.168.1.102などを指す)が含まれます。
ローカル IP アドレスを見つける方法は、PC では ipconfig、Mac と Linux では ifconfig によるようです。プログラムでそれを行うには、gethostbyname() になります。
しかし、私はRubyで試してみました。
そしてipconfigは実際に示しています
これは正しい方法ですか?Rubyで「ipconfig」を実行して正規表現を使用して結果を取得することでハッキングできますが、より標準的な方法を使用して行うとよいでしょう。
c - gethostbyname の問題
Suse m/c で「gethostbyname」を使用したいのですが、構造体が返されません。
しかし、他のシステムでは正常に動作していますが、私の m/c の問題は何でしょうか??
asynchronous - winsockでの非同期アドレス解決?
winsock での非同期アドレス解決を調べると、別のgethostbyname
スレッドでブロッキングを使用するか、 WSAAsyncGetHostByName
. 後者は何らかの理由で、重複した操作や完了ポート/ルーチンではなく、ウィンドウ メッセージで動作するように設計されています。
gethostbyname
winsock API の残りの部分と同様の方法で、オーバーラップした操作で非同期に動作するバージョンはありますか?
python - Python 属性エラー: タイプ オブジェクト '_socketobject' に属性 'gethostbyname' がありません
私は自分のプログラムでこれをやろうとしています:
次の行を含めました。
ファイルの先頭にあります。
このエラーが発生しています:
AttributeError: タイプ オブジェクト '_socketobject' には属性 'gethostbyname' がありません
Vista 64ビットを実行しています。私のOSに問題があるのでしょうか?ファイアウォールとすべてを無効にしました。
64-bit - 64 ビット Windows での gethostbyname の問題
一部のコードを 32 ビット Windows (XP および Server 2003) から 64 ビット Windows 7 に移行しようとしていますが、gethostbyname で奇妙な問題が発生しています。
私はこのようなことをしています:
gethostbyname の呼び出し後、ポインター hp->h_addr_list が無効になります。数値はすべて正しいのですが、32 ビット ポインターが何らかの形で間違ったスペースに詰め込まれたようです。
たとえば、私が得るものは
hp->h_addr_list = 0x0064bdd800000000
hp->h_addr_list = 0x000000000064bdd8 となるように前半と後半を手動で交換すると、ポインターは有効になり、正しいデータを指します。
ゼロの代わりに baadf00d を取得することもあります (つまり、hp->h_addr_list = 0x0064bdd8baadf00d)。
私が知る限り、すべてが正しい 64 ビット バージョンの winsock ライブラリにリンクされているため、この種の問題の原因はわかりません。
windows - gethostbynameは、休止状態から再開した後、ローカルホスト名に対して失敗します(Vista + 7?)
他の誰かがこれを見つけたかどうか疑問に思っています:
当社のソフトウェアを実行している一部のユーザーのマシンでは、Win32winsockの呼び出しgethostbyname
がエラーコード11004で失敗することがあります。
gethostbynameの引数として、からの結果を渡しgethostname
ます。
現在、ドキュメントには11004がWSANO_DATAであると記載されています。説明はどれも関連性がないようです(IP6アドレスを渡すと発生しますが、私が言うように、ホスト名を渡します)。
さらに興味深いのは、MSDNが、IPアドレスがない場合でも(この場合はIPの空のリストを返すだけです) 、この組み合わせ(gethostname
後に続く)が失敗しないように提案していることです。gethostbyname
gethostnameMSDNエントリからの引用は次のとおりです。
...返された名前がgethostbynameおよびWSAAsyncGetHostByNameによって正常に解析されることが保証されています。
これは、休止状態から再開した後、ネットワークが再起動している短い期間に、Vista / 7でのみ発生します(Vistaと7でのみ見たことがあります)。
私が持っていた1つの理論は、それがIP6に関連しているというものでした。おそらく短期間、ネットワークはIP6アドレスを報告しますが、対応するIP4アドレスは報告しません(すべてのクライアントマシンがデュアルIPスタックであると確信していますが、間違っている可能性があります)。
ネットワークカードをオフにして(IPアドレスを強制しないように)再現しようとしましたが、再現できませんでした。
これを見た人はいますか?
何か案は?
ジョン
c - gethostbyname() と valgrind
C コードで gethostbyname() を呼び出すたびに、このエラーが発生し続けます。
何か案は ?ありがとう、
c - gethostbyname は、IPv4 アドレスを持つ hostent 構造を返すことが保証されていますか?
ホスト名の解決には使用できないためgetaddrinfo(...)
、固執する必要がありますgethostbyname(...)
関数は、gethostbyname(...)
成功時に IPv4 (AF_INET) アドレスのみを含む hostent 構造体を返すことが保証されているため、次のコードは常に IPv4 アドレスにつながります:
c - Cでのgethostbyname
Cでアプリケーションを作成する方法はわかりませんが、次のような小さなプログラムが必要です。
出力変数が出力されます。
上記のコードは、PHP MongoDBデータベースドライバーでコンピューターのホスト名を取得するために使用されます(ホスト名は、一意のIDを生成するための入力の一部です)。これがホスト名を返すのではないかと疑っているので、いくつかの証拠が必要です。
コード例が最も役立ちます。
幸せな日。