Windows API関数を使用してネットワーク共有のリストを取得するNetShareEnumまたはWNetEnumResourceは、要求を完了するまでに最大60(秒)かかります。たぶん誰かがなぜそんなに遅いのか分かっていますか?おそらく、SMBのようなAPI /ライブラリを使用して、正当な速度で共有を列挙することは可能でしょうか?Windowsでネットワーク共有の列挙が遅いのはなぜですか?
2
A
答えて
1
理由が何であれ(たとえばログイン資格情報を必要とする)ホストが利用できない場合や応答しない場合、Windowsはネットワーク内のすべての共有についてタイムアウト制限を超過するのを待ちます(ホストごとに複数の場合があります)。 Windowsのデフォルトのタイムアウトは非常に長いです。
タイムアウトを50ms(これはLANで超過してはならない)に減らすと、最終的にテストされるホストの量に依存します。
APIに代わる選択肢についてはお手伝いできません。申し訳ありません。
1
試してみたいことがあります。これは、Linuxと同じ共有を列挙することです(LiveCDを使用できます)。私のテストでは、ルーターも可能なネットワーク共有を求められているのを見ました(私のルーターはLinuxを実行していて、私のISPが私に与えたものなので一般的かもしれません)。
多分、Windowsはルータにネットワーク共有を求めています(これは起こるべきではありません...)。そして、それが共有で応答するために同期的に待っています。
(このAPIを同期させるように設計した人は誰ですか?)
関連する問題
- 1. なぜPythonの列挙は遅いのですか?
- 2. Windowsネットワーク共有のRuby Dir.glob
- 3. Windowsドメインのネットワーク共有
- 4. リムーバブルドライブのネットワーク共有が消える(Windows)
- 5. C#FileStreamをネットワーク共有に作成するマルチスレッドアプリケーションが遅い
- 6. WindowsでPostgreSQLが遅いのはなぜですか?
- 7. のWindows XPのネットワーク共有のパスワード、Windowsは
- 8. Java、JFileChooser&Windowsネットワーク共有とパスワード保護
- 9. Byteが列挙のデフォルトのバッキングタイプではないのはなぜですか?
- 10. 列挙型の間の共有メソッド
- 11. ネットワークサービスはローカルシステムアカウントのネットワーク共有にアクセスできない
- 12. 共有ポイントがSafariブラウザで動作しないのはなぜですか?
- 13. なぜ新しい配列が遅いのですか?
- 14. Powershellはネットワーク共有にアクセスできない
- 15. 私のScala列挙が機能しないのはなぜですか?
- 16. ローカルメモリはCUDAの共有メモリよりも遅いですか?
- 17. なぜiframeが遅いのですか?
- 18. なぜアルゴリズムが遅いのですか?
- 19. なぜガベージコレクションが遅いのですか?
- 20. なぜ滝が遅いのですか?
- 21. なぜPageSettings.PrintableAreaが遅いのですか?
- 22. なぜ "htmlspecialchars"が遅いのですか?
- 23. なぜコントローラが遅いのですか?
- 24. なぜNetworkStream.Readが遅いのですか?
- 25. なぜデータバインディングが遅いのですか?
- 26. なぜTestCompleteが遅いのですか?
- 27. なぜメモリアクセスが遅いのですか?
- 28. なぜマルチスレッドが遅いのですか?
- 29. ネットワーク共有/ SMBクライアント
- 30. jQueryの配列が遅すぎるのはなぜですか?
Windowsは愚かですので、正直です。 –