เซิร์ฟเวอร์ DNS-SD

โมดูลนี้ประกอบด้วย API สำหรับเซิร์ฟเวอร์ DNS-SD

สรุป

การแจกแจง

otDnssdQueryType{
  OT_DNSSD_QUERY_TYPE_NONE = 0,
  OT_DNSSD_QUERY_TYPE_BROWSE = 1,
  OT_DNSSD_QUERY_TYPE_RESOLVE = 2,
  OT_DNSSD_QUERY_TYPE_RESOLVE_HOST = 3
}
enum
ระบุประเภทการค้นหา DNS-SD

Typedef

otDnssdCounters typedef
มีตัวนับของเซิร์ฟเวอร์ DNS-SD
otDnssdHostInfo typedef
แสดงข้อมูลของโฮสต์ที่ค้นพบสำหรับการค้นหา DNS-SD
otDnssdQuery typedef
void
ประเภททึบนี้แสดงถึงคำค้นหา DNS-SD
otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName) typedef
void(*
ถูกเรียกเมื่อการค้นหา DNS-SD สมัครรับสิ่งใดสิ่งหนึ่งต่อไปนี้
otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName) typedef
void(*
จะมีการเรียกเมื่อการค้นหา DNS-SD ยกเลิกการสมัครรับอีเมลอย่างใดอย่างหนึ่งต่อไปนี้
otDnssdServiceInstanceInfo typedef
แสดงข้อมูลของอินสแตนซ์บริการที่ค้นพบสำหรับการค้นหา DNS-SD

ฟังก์ชัน

otDnssdGetCounters(otInstance *aInstance)
const otDnssdCounters *
แสดงผลตัวนับของเซิร์ฟเวอร์ 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
otDnssdUpstreamQueryIsEnabled(otInstance *aInstance)
bool
แสดงผลว่าเซิร์ฟเวอร์ DNSSD จะส่งต่อคำขอ DNS ไปยัง DNS Upstream API ของแพลตฟอร์มหรือไม่
otDnssdUpstreamQuerySetEnabled(otInstance *aInstance, bool aEnabled)
void
เปิดหรือปิดใช้การส่งต่อคำขอ DNS ไปยัง DNS Upstream API ของแพลตฟอร์ม

โครงสร้าง

otDnssdCounters

มีตัวนับของเซิร์ฟเวอร์ 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

ประเภทบริการแก้ไขชื่อโฮสต์

Typedef

otDnssdCounters

struct otDnssdCounters otDnssdCounters

มีตัวนับของเซิร์ฟเวอร์ DNS-SD

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

แสดงข้อมูลของโฮสต์ที่ค้นพบสำหรับการค้นหา DNS-SD

otDnssdQuery

void otDnssdQuery

ประเภททึบนี้แสดงถึงคำค้นหา DNS-SD

otDnssdQuerySubscribeCallback

void(* otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName)

ถูกเรียกเมื่อการค้นหา DNS-SD สมัครรับสิ่งใดสิ่งหนึ่งต่อไปนี้

  1. ชื่อบริการ
  2. ชื่ออินสแตนซ์บริการ
  3. ชื่อโฮสต์

การใช้การค้นหา DNS-SD จะมีหน้าที่ในการระบุว่า aFullName คืออะไร หาก aFullName เป็นชื่อบริการหรือชื่ออินสแตนซ์บริการ การใช้งานการค้นหา DNS-SD ควรค้นพบข้อมูลอินสแตนซ์บริการที่เกี่ยวข้องและแจ้งเตือนเซิร์ฟเวอร์ DNS-SD โดยใช้ otDnssdQueryHandleDiscoveredServiceInstance หาก aFullName เป็นชื่อโฮสต์ การใช้การค้นหา DNS-SD ควรจะค้นพบข้อมูลโฮสต์และแจ้งให้เซิร์ฟเวอร์ DNS-SD ทราบโดยใช้ otDnssdQueryHandleDiscoveredHost

รายละเอียด
พารามิเตอร์
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน
[in] aFullName
ชื่อบริการแบบเต็มที่ปิดลงด้วยค่า Null (เช่น "_ipps._tcp.default.service.arpa.") หรือชื่ออินสแตนซ์ของบริการแบบเต็ม (เช่น "OpenThread._ipps._tcp.default.service.arpa.") หรือชื่อโฮสต์แบบเต็ม (เช่น "ot-host.default.service.arpa.")
ดูเพิ่มเติม:
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleDiscoveredHost

otDnssdQueryUnsubscribeCallback

void(* otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName)

จะมีการเรียกเมื่อการค้นหา DNS-SD ยกเลิกการสมัครรับอีเมลอย่างใดอย่างหนึ่งต่อไปนี้

  1. ชื่อบริการ
  2. ชื่ออินสแตนซ์บริการ
  3. ชื่อโฮสต์

การใช้การค้นหา DNS-SD จะทำหน้าที่ระบุ aFullName

รายละเอียด
พารามิเตอร์
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน
[in] aFullName
ชื่อบริการแบบเต็มที่ปิดลงด้วยค่า Null (เช่น "_ipps._tcp.default.service.arpa.") หรือชื่ออินสแตนซ์ของบริการแบบเต็ม (เช่น "OpenThread._ipps._tcp.default.service.arpa.")

otDnssdServiceInstanceInfo

struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo

แสดงข้อมูลของอินสแตนซ์บริการที่ค้นพบสำหรับการค้นหา DNS-SD

ฟังก์ชัน

otDnssdGetCounters

const otDnssdCounters * otDnssdGetCounters(
  otInstance *aInstance
)

แสดงผลตัวนับของเซิร์ฟเวอร์ DNS-SD

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
การส่งคืน
ตัวชี้ไปยังตัวนับของเซิร์ฟเวอร์ DNS-SD

otDnssdGetNextQuery

const otDnssdQuery * otDnssdGetNextQuery(
  otInstance *aInstance,
  const otDnssdQuery *aQuery
)

รับการค้นหาถัดไปในเซิร์ฟเวอร์ DNS-SD

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aQuery
ตัวชี้การค้นหา ส่ง NULL เพื่อรับคำค้นหาแรก
การส่งคืน
ตัวชี้ไปยังข้อความค้นหาหรือค่าว่างหากไม่มีข้อความค้นหาเพิ่มเติม

otDnssdGetQueryTypeAndName

otDnssdQueryType otDnssdGetQueryTypeAndName(
  const otDnssdQuery *aQuery,
  char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE]
)

ต้องใช้ประเภทและชื่อคำค้นหา DNS-SD สำหรับการค้นหาที่เฉพาะเจาะจง

รายละเอียด
พารามิเตอร์
[in] aQuery
ตัวชี้คำค้นหาที่ได้จาก otDnssdGetNextQuery
[out] aNameOutput
บัฟเฟอร์เอาต์พุตชื่อ ซึ่งควรมีความยาว OT_DNS_MAX_NAME_SIZE ไบต์
การส่งคืน
ประเภทการค้นหา DNS-SD

otDnssdQueryHandleDiscoveredHost

void otDnssdQueryHandleDiscoveredHost(
  otInstance *aInstance,
  const char *aHostFullName,
  otDnssdHostInfo *aHostInfo
)

แจ้งเตือนโฮสต์ที่ค้นพบ

รีโซลเวอร์การค้นหาภายนอก (เช่น พร็อกซี Discovery) ควรเรียกใช้ฟังก์ชันนี้เพื่อแจ้งหลักของโฮสต์ที่สมัครใช้ใน OpenThread

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aHostFullName
ชื่อโฮสต์แบบเต็มที่เป็นค่าว่าง
[in] aHostInfo
ตัวชี้ไปยังข้อมูลอินสแตนซ์ของบริการที่ค้นพบ

otDnssdQueryHandleDiscoveredServiceInstance

void otDnssdQueryHandleDiscoveredServiceInstance(
  otInstance *aInstance,
  const char *aServiceFullName,
  otDnssdServiceInstanceInfo *aInstanceInfo
)

แจ้งเตือนอินสแตนซ์ของบริการที่ค้นพบ

รีโซลเวอร์การค้นหาภายนอก (เช่น พร็อกซี Discovery) ควรเรียกใช้ฟังก์ชันนี้เพื่อแจ้งหลักของ OpenThread สำหรับบริการหรืออินสแตนซ์ของบริการที่สมัครใช้บริการ

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aServiceFullName
ชื่อบริการแบบเต็มที่ยุติเป็น Null
[in] aInstanceInfo
ตัวชี้ไปยังข้อมูลอินสแตนซ์ของบริการที่ค้นพบ

otDnssdQuerySetCallbacks

void otDnssdQuerySetCallbacks(
  otInstance *aInstance,
  otDnssdQuerySubscribeCallback aSubscribe,
  otDnssdQueryUnsubscribeCallback aUnsubscribe,
  void *aContext
)

ตั้งค่าการเรียกกลับคำค้นหาของเซิร์ฟเวอร์ DNS-SD

เซิร์ฟเวอร์ DNS-SD จะเรียก aSubscribe ให้สมัครใช้บริการหรืออินสแตนซ์บริการเพื่อแก้ไขการค้นหา DNS-SD และ aUnsubscribe เพื่อยกเลิกการสมัครเมื่อการค้นหาได้รับการแก้ไขหรือหมดเวลา

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aSubscribe
ตัวชี้ไปยังฟังก์ชันเรียกกลับเพื่อสมัครใช้บริการหรืออินสแตนซ์บริการ
[in] aUnsubscribe
ตัวชี้ไปยังฟังก์ชันเรียกกลับเพื่อยกเลิกการสมัครใช้บริการของหรืออินสแตนซ์บริการ
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

otDnssdUpstreamQueryIsEnabled

bool otDnssdUpstreamQueryIsEnabled(
  otInstance *aInstance
)

แสดงผลว่าเซิร์ฟเวอร์ DNSSD จะส่งต่อคำขอ DNS ไปยัง DNS Upstream API ของแพลตฟอร์มหรือไม่

ใช้งานได้เมื่อเปิดใช้ OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
แสดงผลค่า
TRUE
กรณีที่เซิร์ฟเวอร์ DNSSD จะส่งต่อคำขอ DNS
FALSE
ในกรณีที่เซิร์ฟเวอร์ DNSSD ไม่ส่งต่อคำขอ DNS
ดูเพิ่มเติม:
otDnssdUpstreamQuerySetEnabled

otDnssdUpstreamQuerySetEnabled

void otDnssdUpstreamQuerySetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

เปิดหรือปิดใช้การส่งต่อคำขอ DNS ไปยัง DNS Upstream API ของแพลตฟอร์ม

ใช้งานได้เมื่อเปิดใช้ OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
บูลีนสำหรับเปิด/ปิดใช้คำขอ DNS สำหรับส่งต่อไปยังอัปสตรีม
ดูเพิ่มเติม:
otPlatDnsStartUpstreamQuery
otPlatDnsCancelUpstreamQuery
otPlatDnsUpstreamQueryDone

แหล่งข้อมูล

หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล