提供了一种方法来扫描特定网络或本地网络,以查找满足任意条件的主机。
API 和实现使用 Swift 结构化并发(await/async, Task 等)。
例如,查找本地网络上所有成功响应主页请求的 HTTPS 服务器
import Foundation
import NetworkScanner
let scanner = NetworkScanner(concurrencyLimit: 250) { address in
guard let URL = URL(string: "https://\(address)") else {
throw Errors.unableToConstructURL(address: address)
}
do {
_ = try await session.data(from: URL)
return .hit
} catch {
return .miss
}
}
for try await result in scanner {
print(result) // e.g. "192.168.0.10: Hit"
}
enum Errors: Error {
case unableToConstructURL(address: String)
}
请参阅文档了解更多详情,以及随附的演示应用程序了解更多探测示例。