1

gethostbyaddr() を呼び出すと、正しいホスト名が返されることがありますが、IP アドレスが返されることがあります。これは、呼び出しがホスト名の解決に失敗したときに行うように設計されていることがわかっています。

すべての IP アドレスは動的 (2 日間のリース) であるため、ホスト名を取得することが絶対に重要です。そのため、ホスト名と IP ペアを保存するときに有効なプライマリ キーを取得できるように、ホスト名が必要です。データベース。私は文字通り2台のプリンターと2台のコンピューターを並べて使用しており、各PHPの1つはホスト名に解決でき、もう1つのプリンターとコンピューターはIPアドレスを返します。

PHP ですべてのデバイスのホスト名を解決するにはどうすればよいですか?

また、ホスト名を解決する方法を知っている人はいますか? DNS? 勝つ?

必要に応じて、これら 2 つのプリンターでテストを実行して、IPv4 構成を確認できます。

4

1 に答える 1

1

gethostbyaddr()成功した場合はホスト名を返し、失敗した場合は変更されていないip_addressを返し、不正な形式の入力の場合は FALSE を返します。

静的 IP が割り当てられた約 20 台のマシンと約 5 台のプリンターで機能を確認したところ、ダウンしているか、ルーターやゲートウェイなどの構成が異なるマシンとプリンターの IP が返されました。

gethostbyaddr()そのため、1 台のコンピューターとプリンターからホスト名を返すことを制限しているポリシーを確認する必要があります。

于 2012-11-08T10:54:57.223 に答える