DNS-SD 服务器
此模块包含用于 DNS-SD 服务器的 API。
摘要
枚举 |
|
---|---|
otDnssdQueryType{
|
枚举 此枚举指定了一个 DNS-SD 查询类型。 |
类型定义符 |
|
---|---|
otDnssdHostInfo
|
typedefstruct otDnssdHostInfo
此结构表示已发现的 DNS-SD 查询主机的信息。 |
otDnssdQuery
|
typedefvoid
这种不透明类型表示 DNS-SD 查询。 |
otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName)
|
typedefvoid(*
当 DNS-SD 查询订阅以下任一内容时,系统会调用此函数: |
otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName)
|
typedefvoid(*
当 DNS-SD 查询退订下列任一内容时,系统会调用此函数: |
otDnssdServiceInstanceInfo
|
typedefstruct otDnssdServiceInstanceInfo
此结构表示 DNS-SD 查询的已发现服务实例的信息。 |
函数 |
|
---|---|
otDnssdGetNextQuery(otInstance *aInstance, const otDnssdQuery *aQuery)
|
const otDnssdQuery *
此函数在 DNS-SD 服务器中获取下一个查询。
|
otDnssdGetQueryTypeAndName(const otDnssdQuery *aQuery, char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE])
|
此函数可获取特定查询的 DNS-SD 查询类型和名称。
|
otDnssdQueryHandleDiscoveredHost(otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo)
|
void
此函数通知已发现的主机。
|
otDnssdQueryHandleDiscoveredServiceInstance(otInstance *aInstance, const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo)
|
void
此函数将通知一个已发现的服务实例。
|
otDnssdQuerySetCallbacks(otInstance *aInstance, otDnssdQuerySubscribeCallback aSubscribe, otDnssdQueryUnsubscribeCallback aUnsubscribe, void *aContext)
|
void
此函数设置 DNS-SD 服务器查询回调。
|
结构体 |
|
---|---|
otDnssdHostInfo |
此结构表示已发现的 DNS-SD 查询主机的信息。 |
otDnssdServiceInstanceInfo |
此结构表示 DNS-SD 查询的已发现服务实例的信息。 |
枚举
otDnssdQueryType
otDnssdQueryType
此枚举指定了一个 DNS-SD 查询类型。
属性 | |
---|---|
OT_DNSSD_QUERY_TYPE_BROWSE
|
服务类型浏览服务。 |
OT_DNSSD_QUERY_TYPE_NONE
|
未指定服务类型。 |
OT_DNSSD_QUERY_TYPE_RESOLVE
|
服务类型解析服务实例。 |
OT_DNSSD_QUERY_TYPE_RESOLVE_HOST
|
服务类型解析主机名。 |
类型定义符
otDnssdQuery
void otDnssdQuery
这种不透明类型表示 DNS-SD 查询。
otDnssdQuerySubscribeCallback
void(* otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName)
当 DNS-SD 查询订阅以下任一内容时,系统会调用此函数:
- 服务名称。
- 服务实例名称。
- 主机名。
DNS-SD 查询实现负责确定什么是 aFullName
。如果 aFullName
是服务名称或服务实例名称,则 DNS-SD 查询实现应发现相应的服务实例信息,并使用 otDnssdQueryHandleDiscoveredServiceInstance
通知 DNS-SD 服务器。如果 aFullName
是主机名,DNS-SD 查询实现应发现主机信息,并使用 otDnssdQueryHandleDiscoveredHost
通知 DNS-SD 服务器。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleDiscoveredHost
otDnssdQueryunsubscribeCallback
void(* otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName)
当 DNS-SD 查询退订下列任一内容时,系统会调用此函数:
- 服务名称。
- 服务实例名称。
- 主机名。
DNS-SD 查询实现负责确定什么是 aFullName
。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
otDnssdServiceInstanceInfo
struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo
此结构表示 DNS-SD 查询的已发现服务实例的信息。
函数
otDnssdGetNextQuery
const otDnssdQuery * otDnssdGetNextQuery( otInstance *aInstance, const otDnssdQuery *aQuery )
此函数在 DNS-SD 服务器中获取下一个查询。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向查询的指针;如果不再有查询,则为 NULL。
|
otDnssdGetQueryTypeAndName
otDnssdQueryType otDnssdGetQueryTypeAndName( const otDnssdQuery *aQuery, char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE] )
此函数可获取特定查询的 DNS-SD 查询类型和名称。
详情 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
DNS-SD 查询类型。
|
otDnssdQueryHandleDiscoveredHost
void otDnssdQueryHandleDiscoveredHost( otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo )
此函数通知已发现的主机。
外部查询解析器(例如 Discovery Proxy)应调用此函数,以向 OpenThread 核心通知所订阅主机。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otDnssdQueryHandleDiscoveredServiceInstance
void otDnssdQueryHandleDiscoveredServiceInstance( otInstance *aInstance, const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo )
此函数将通知一个已发现的服务实例。
外部查询解析器(例如 Discovery Proxy)应调用此函数,以向 OpenThread 核心通知所订阅的服务或服务实例。
详情 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otDnssdQuerySetCallbacks
void otDnssdQuerySetCallbacks( otInstance *aInstance, otDnssdQuerySubscribeCallback aSubscribe, otDnssdQueryUnsubscribeCallback aUnsubscribe, void *aContext )
此函数设置 DNS-SD 服务器查询回调。
DNS-SD 服务器会调用 aSubscribe
来订阅服务或服务实例以解析 DNS-SD 查询,并调用 aUnsubscribe
以在查询解析或超时时退订。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
资源
OpenThread API 参考主题源自源代码,可在 GitHub 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源。