เซิร์ฟเวอร์ 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

ประเภทคําจํากัดความ

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

โครงสร้าง

otDnssdCounter

โครงสร้างนี้ประกอบด้วยตัวนับของเซิร์ฟเวอร์ DNS-SD

otDnssdHostInfo

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

otDnssdServiceInstanceInfo

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

การแจกแจง

ประเภทการค้นหา OTDnssdQuery

 otDnssdQueryType

การแจกแจงนี้ระบุประเภทคําค้นหา DNS-SD

พร็อพเพอร์ตี้
OT_DNSSD_QUERY_TYPE_BROWSE

บริการเรียกดูประเภทบริการ

OT_DNSSD_QUERY_TYPE_NONE

ไม่ได้ระบุประเภทบริการ

OT_DNSSD_QUERY_TYPE_RESOLVE

ประเภทบริการแก้ไขอินสแตนซ์ของบริการ

OT_DNSSD_QUERY_TYPE_RESOLVE_HOST

ชื่อโฮสต์แก้ไขชื่อโฮสต์

ประเภทคําจํากัดความ

OTDnssdCounter

struct otDnssdCounters otDnssdCounters

โครงสร้างนี้ประกอบด้วยตัวนับของเซิร์ฟเวอร์ DNS-SD

ข้อมูล OTDnssdHost

struct otDnssdHostInfo otDnssdHostInfo

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

OTDnssdQuery

void otDnssdQuery

ประเภททึบแสงนี้จะแสดงคําขอ DNS-SD

OTDnssdQueryQueryCallback

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
ชื่อเต็มของบริการเป็นค่าว่าง (เช่น "_ipps._tcp.default.service.arpa.") หรือชื่ออินสแตนซ์บริการแบบเต็ม (เช่น "OpenThread._ipps._tcp.default.service.arpa.") หรือชื่อโฮสต์แบบเต็ม (เช่น "ot-host.default.service.arpa
ดูเพิ่มเติม:
otDnssdQueryHandleDiscoverServiceServiceInstance
otDnssdQueryHandleDiscoveredHost

OTDnssdQueryยกเลิกการสมัครการติดต่อกลับ

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

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

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

การใช้คําขอ DNS-SD มีหน้าที่ระบุ aFullName คืออะไร

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

OTDnssdServiceInstanceInfo

struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo

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

ฟังก์ชัน

OTDnssdGetCounter

const otDnssdCounters * otDnssdGetCounters(
  otInstance *aInstance
)

ฟังก์ชันนี้จะแสดงผลตัวนับของเซิร์ฟเวอร์ DNS-SD

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

OTDnssdดาวน์โหลดถัดไปข้อความค้นหา

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

โดยฟังก์ชันนี้จะได้รับคําค้นหาถัดไปในเซิร์ฟเวอร์ DNS-SD

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aQuery
ตัวชี้การค้นหา ข้าม NULL เพื่อรับคําค้นหาแรก
การคืนสินค้า
ตัวชี้ไปยังคําค้นหาหรือ 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 Proxy) ควรเรียกฟังก์ชันนี้ให้แจ้ง OpenCore Core ของโฮสต์ที่ติดตาม

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

OTDnssdQueryHandleDiscoveredServiceInstance

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

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

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

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

OTDnssdQuerySetSetback

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
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

แหล่งข้อมูล

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