掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ホスト名の取得について (ID:57754)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
書き込みの回数が多く申し訳ないですが、 またまた教えて頂けたらと思います。 ネットワークでホスト名が存在するかどうかを判別したく、 下記のようなソースを書きました。(一部抜粋) bool FindHost(const char *host) { HOSTENT *lphost = NULL; WSADATA wsa; WSAStartup(MAKEWORD(1, 1), &wsa); lphost = gethostbyname(host); if (lphost == NULL){ WSACleanup(); return false; } WSACleanup(); return true; } 問題なくホスト名からの検索はできるのですが、 一度検索したホスト側のPCをネットワークからはずし(LAN抜いただけです) 再度検索をかけたところ、繋がらないはずなのになぜかホスト名が見つかってしまいます。(lphostがNULLでないという判定だけですが) 存在しないホスト名を指定するとちゃんと認識しませんし、 一旦PCを再起動するとLANに繋がっていないPCは認識しません。 (一度繋ぐとLANを抜いてもやはり認識しっぱなしですが。。。) 結果を見た限りでは一度繋げたホスト名の情報がキャッシュに残り、 ホスト名を参照した時に、存在しないのでキャッシュから情報を取得しているのでは ないか?という、自分勝手な認識です。 これの原因はどこにあるのでしょうか? また、解決するにはどうすればいいのでしょうか? ご教授頂けたらと思います。 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.