51 lines
967 B
Objective-C
51 lines
967 B
Objective-C
//
|
||
// HttpdnsIpStackDetector.h
|
||
// NewHttpDNS
|
||
//
|
||
// Created by xuyecan on 2025/3/16.
|
||
// Copyright © 2025 trustapp.com. All rights reserved.
|
||
//
|
||
|
||
#import <Foundation/Foundation.h>
|
||
|
||
NS_ASSUME_NONNULL_BEGIN
|
||
|
||
/**
|
||
* IP 协议栈类<E6A088><E7B1BB>?
|
||
*/
|
||
typedef enum {
|
||
kHttpdnsIpUnknown = 0, // 未知协议<E58D8F><E8AEAE>?
|
||
kHttpdnsIpv4Only = 1, // IPv4-only
|
||
kHttpdnsIpv6Only = 2, // IPv6-only
|
||
kHttpdnsIpDual = 3 // 双栈
|
||
} HttpdnsIPStackType;
|
||
|
||
@interface HttpdnsIpStackDetector : NSObject
|
||
|
||
/**
|
||
* 返回HttpdnsIpStackDetector的共享实<E4BAAB><E5AE9E>?
|
||
* @return HttpdnsIpStackDetector实例
|
||
*/
|
||
+ (instancetype)sharedInstance;
|
||
|
||
/**
|
||
* 返回当前缓存的IP协议栈类型,不执行检<E8A18C><E6A380>?
|
||
* @return HttpdnsIPStackType
|
||
*/
|
||
- (HttpdnsIPStackType)currentIpStack;
|
||
|
||
/**
|
||
* 返回当前是否是IPv6-only网络
|
||
* @return BOOL
|
||
*/
|
||
- (BOOL)isIpv6OnlyNetwork;
|
||
|
||
/**
|
||
* 强制重新检测IP协议栈类<E6A088><E7B1BB>?
|
||
*/
|
||
- (void)redetectIpStack;
|
||
|
||
@end
|
||
|
||
NS_ASSUME_NONNULL_END
|