- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 CFHostGetAddressing 进行简单的 DNS 查找。但是,我注意到它返回一个 sockaddr 结构数组,我猜这意味着它只能执行 IPV4。
有没有办法在 iOS 中支持带有 IPV6 地址的 DNS 条目?也许是返回 sockaddr_storage 结构数组的类似 API?
最佳答案
CFHostGetAddressing()
文档可能具有误导性,因为 struct sockaddr
是一个涵盖各种套接字地址(IPv4、IPv6 等)的所有公共(public)元素的结构。它通常仅用于将通用指针 传递给套接字函数。
实际上 CFHostGetAddressing()
与 IPv6 配合得很好。它返回一个 CFData
元素数组,其中每个元素都包含一个 struct sockaddr_in
或一个 struct sockaddr_in6
。
使用您上一个问题的代码作为起点,以下应该可行:
let hostRef = CFHostCreateWithName(kCFAllocatorDefault, "localhost").takeRetainedValue()
var resolved = CFHostStartInfoResolution(hostRef, CFHostInfoType.Addresses, nil)
let addresses = CFHostGetAddressing(hostRef, &resolved).takeRetainedValue() as NSArray
for addr in addresses as [NSData] {
var sockaddr = UnsafePointer<sockaddr_storage>.alloc(1)
addr.getBytes(sockaddr, length: sizeof(sockaddr_storage))
// ...
sockaddr.destroy()
}
关于ios - CFHostGetAddressing() 是否支持 ipv6 DNS 条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24796142/
目前部署在 Kubernetes 中的服务,通过 Calico BGP 将 Service 与集群外网络打通,并在外部的 nginx 中配置 Service 地址对外进行服务暴露。经过一段时间的观察
如发现here , 有一种新的 kube 服务是 IPVS 并且有很多负载均衡算法。 唯一的问题是我没有找到指定这些算法的位置。 我的理解: rr:循环法->循环调用后端pod lc:最少连接-> 将
我想尝试这种新的代理模式以及它为我们的一些应用程序提供的各种调度程序。到目前为止,我一直无法找到更改默认模式的方法 iptables至 ipvs在 GKE 节点上。 每个人都说通过--proxy-mo
我想在现有集群中为 IPVS 启用 Kube-proxy 模式。目前,它在 IPtables 上运行。如何在不影响现有工作负载的情况下将其更改为 IPVS? 我已经安装了所有必需的模块来启用它。另外,
我正在开发的应用程序作为 Kubernetes 集群中的部署运行。为此部署创建的 Pod 分布在集群中的各个节点上。我们的应用程序一次只能处理一个 TCP 连接,并且会拒绝进一步的连接。目前,我们使用
我是一名优秀的程序员,十分优秀!