خادم DNS-SD

تشمل هذه الوحدة واجهات برمجة تطبيقات لخادم 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
}
تعداد
يحدّد هذا العدد نوع طلب بحث DNS-SD.

مواقد الخط

otDnssdHostInfo مَعلمة typetype
تمثل هذه البنية معلومات المضيف الذي تم اكتشافه لطلب بحث DNS-SD.
otDnssdQuery مَعلمة typetype
void
يُمثِّل هذا النوع غير الشفهي طلب بحث لنظام أسماء النطاقات (DNS)-SD.
otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName) مَعلمة typetype
void(*
يتم استدعاء هذه الدالة عندما يشترك طلب بحث DNS-SD في أيٍّ مما يلي:
otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName) مَعلمة typetype
void(*
يتم استدعاء هذه الدالة عندما يلغي طلب بحث DNS-SD أحد العناصر التالية:
otDnssdServiceInstanceInfo مَعلمة typetype
تمثل هذه البنية معلومات مثيل الخدمة التي تم اكتشافها لطلب بحث 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

نوع الخدمة يحل اسم المضيف.

مواقد الخط

otDnssdHostInfo

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.").
اطّلع أيضًا على:
otDnssdQueryHandleDiscoveredServiceInstance
otDnssdQueryHandleedHost

otDnssdQueryQueryCallback

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.

الدوال

otDnssdGetNextQuery

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

تكتسب هذه الدالة طلب البحث التالي في خادم DNS-SD.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aQuery
مؤشر الطلب. أدخِل "خالٍ" لطلب البحث الأول.
طلبات الإرجاع
مؤشر لطلب البحث أو فارغ إذا لم يكن هناك طلبات بحث أخرى.

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.

otDnssdQueryHandleedDiscovered

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

ترسل هذه الدالة إشعارًا بمضيف تم اكتشافه.

على أداة حل طلبات البحث الخارجية (مثل، Discovery Proxy) استدعاء هذه الدالة لإعلام Openسلسلة أساسية من الأجهزة المضيفة التي اشتركت فيها.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aHostFullName
اسم المضيف الكامل الذي تم إنهاؤه
[in] aHostInfo
مؤشر لمعلومات مثيل الخدمة التي تم اكتشافها.

otDnssdQueryHandleedServiceInstance

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

تُعلِم هذه الدالة بحالة خدمة مكتشفة.

على أداة حل طلبات البحث الخارجية (مثل الخادم الوكيل للاكتشاف) استدعاء هذه الدالة لإعلام Openسلسلة أساسية من الخدمات التي تم الاشتراك فيها أو مثيلات الخدمات.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aServiceFullName
اسم الخدمة بالكامل بإنهاء فارغ.
[in] aInstanceInfo
مؤشر لمعلومات مثيل الخدمة التي تم اكتشافها.

otDnssdQuerySetCallbacks

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

تحدد هذه الدالة استدعاءات طلب بحث خادم DNS-SD.

يتصل خادم DNS-SD aSubscribe للاشتراك في خدمة أو نسخة افتراضية من خدمة لحل طلب بحث DNS-SD وaUnsubscribe لإلغاء الاشتراك عندما يتم حل طلب البحث أو انتهاء المهلة.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aSubscribe
مؤشر لوظيفة معاودة الاتصال للاشتراك في خدمة أو مثيل خدمة.
[in] aUnsubscribe
مؤشر لوظيفة معاودة الاتصال لإلغاء الاشتراك في خدمة أو مثيل خدمة.
[in] aContext
مؤشر للسياق الخاص بالتطبيق.

المراجع

تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.