Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Máy chủ DNS-SD

Mô-đun này bao gồm các API cho máy chủ DNS-SD.

Tóm tắt

Bảng liệt kê

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
Bảng liệt kê này chỉ định loại truy vấn DNS-SD.

Typedef

otDnssdCounters typedef
Cấu trúc này chứa các bộ đếm của máy chủ DNS-SD.
otDnssdHostInfo typedef
Cấu trúc này thể hiện thông tin của một máy chủ được phát hiện cho truy vấn DNS-SD.
otDnssdQuery typedef
void
Loại độ mờ này đại diện cho một truy vấn DNS-SD.
otDnssdQuerySubscribeCallback)(void *aContext, const char *aFullName) typedef
void(*
Hàm này được gọi khi truy vấn DNS-SD đăng ký một trong những loại sau:
otDnssdQueryUnsubscribeCallback)(void *aContext, const char *aFullName) typedef
void(*
Hàm này được gọi khi truy vấn DNS-SD hủy đăng ký một trong những loại sau:
otDnssdServiceInstanceInfo typedef
Cấu trúc này đại diện cho thông tin của một phiên bản dịch vụ đã phát hiện của truy vấn DNS-SD.

Hàm

otDnssdGetCounters(otInstance *aInstance)
const otDnssdCounters *
Hàm này trả về các bộ đếm của máy chủ DNS-SD.
otDnssdGetNextQuery(otInstance *aInstance, const otDnssdQuery *aQuery)
const otDnssdQuery *
Hàm này nhận được truy vấn tiếp theo trong máy chủ DNS-SD.
otDnssdGetQueryTypeAndName(const otDnssdQuery *aQuery, char(*) aNameOutput[OT_DNS_MAX_NAME_SIZE])
Hàm này nhận được loại và tên truy vấn DNS-SD cho một truy vấn cụ thể.
otDnssdQueryHandleDiscoveredHost(otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo)
void
Hàm này thông báo cho máy chủ đã phát hiện.
otDnssdQueryHandleDiscoveredServiceInstance(otInstance *aInstance, const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo)
void
Hàm này thông báo cho một phiên bản dịch vụ đã phát hiện.
otDnssdQuerySetCallbacks(otInstance *aInstance, otDnssdQuerySubscribeCallback aSubscribe, otDnssdQueryUnsubscribeCallback aUnsubscribe, void *aContext)
void
Hàm này đặt lệnh gọi lại truy vấn máy chủ DNS-SD.

Cấu trúc

Bộ đếm otDnssd

Cấu trúc này chứa các bộ đếm của máy chủ DNS-SD.

otDnssdHostInfo

Cấu trúc này thể hiện thông tin của một máy chủ được phát hiện cho truy vấn DNS-SD.

otDnssdServiceInstanceInfo

Cấu trúc này đại diện cho thông tin của một phiên bản dịch vụ đã phát hiện của truy vấn DNS-SD.

Bảng liệt kê

otDnssdQueryType

 otDnssdQueryType

Bảng liệt kê này chỉ định loại truy vấn DNS-SD.

Thuộc tính
OT_DNSSD_QUERY_TYPE_BROWSE

Dịch vụ duyệt xem loại dịch vụ.

OT_DNSSD_QUERY_TYPE_NONE

Chưa chỉ định loại dịch vụ.

OT_DNSSD_QUERY_TYPE_RESOLVE

Loại dịch vụ sẽ phân giải bản sao dịch vụ.

OT_DNSSD_QUERY_TYPE_RESOLVE_HOST

Loại dịch vụ sẽ phân giải tên máy chủ.

Typedef

Bộ đếm otDnssd

struct otDnssdCounters otDnssdCounters

Cấu trúc này chứa các bộ đếm của máy chủ DNS-SD.

otDnssdHostInfo

struct otDnssdHostInfo otDnssdHostInfo

Cấu trúc này thể hiện thông tin của một máy chủ được phát hiện cho truy vấn DNS-SD.

otDnssdQuery

void otDnssdQuery

Loại độ mờ này đại diện cho một truy vấn DNS-SD.

otDnssdQueryQueryCallback

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

Hàm này được gọi khi truy vấn DNS-SD đăng ký một trong những loại sau:

  1. tên dịch vụ.
  2. tên bản sao dịch vụ.
  3. tên máy chủ.

Việc triển khai truy vấn DNS-SD chịu trách nhiệm xác định aFullName là gì. Nếu aFullName là tên dịch vụ hoặc tên phiên bản dịch vụ, thì việc triển khai truy vấn DNS-SD sẽ phát hiện thông tin bản sao dịch vụ tương ứng và thông báo cho máy chủ DNS-SD bằng otDnssdQueryHandleDiscoveredServiceInstance. Nếu aFullName là tên máy chủ lưu trữ, thì quá trình triển khai truy vấn DNS-SD sẽ khám phá thông tin máy chủ và thông báo cho máy chủ DNS-SD bằng otDnssdQueryHandleDiscoveredHost.

Thông tin chi tiết
Các thông số
[in] aContext
Con trỏ đến bối cảnh dành riêng cho ứng dụng.
[in] aFullName
Tên dịch vụ đầy đủ bị chấm dứt giá trị null (ví dụ: "_ipps._tcp.default.service.arpa.") hoặc tên phiên bản dịch vụ đầy đủ (ví dụ: "OpenThread._ipps._tcp.default.service.arpa.") hoặc tên máy chủ đầy đủ (ví dụ: "ot-host.service&default).
Xem thêm:
otDnssdQueryhandleDiscoveredServiceInstance
otDnssdQueryhandleDiscoveredHost

otDnssdQueryQueryCallback

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

Hàm này được gọi khi truy vấn DNS-SD hủy đăng ký một trong những loại sau:

  1. tên dịch vụ.
  2. tên bản sao dịch vụ.
  3. tên máy chủ.

Việc triển khai truy vấn DNS-SD chịu trách nhiệm xác định aFullName là gì.

Thông tin chi tiết
Các thông số
[in] aContext
Con trỏ đến bối cảnh dành riêng cho ứng dụng.
[in] aFullName
Tên dịch vụ đầy đủ bị chấm dứt giá trị null (ví dụ: "_ipps._tcp.default.service.arpa.") hoặc tên phiên bản dịch vụ đầy đủ (ví dụ: "OpenThread._ipps._tcp.default.service.arpa.").

otDnssdServiceInstanceInfo

struct otDnssdServiceInstanceInfo otDnssdServiceInstanceInfo

Cấu trúc này đại diện cho thông tin của một phiên bản dịch vụ đã phát hiện của truy vấn DNS-SD.

Hàm

otDnssdGetCounters

const otDnssdCounters * otDnssdGetCounters(
  otInstance *aInstance
)

Hàm này trả về các bộ đếm của máy chủ DNS-SD.

Thông tin chi tiết
Các thông số
[in] aInstance
Cấu trúc của phiên bản OpenThread.
Trả về
Con trỏ tới bộ đếm của máy chủ DNS-SD.

otDnssdGetNextQuery

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

Hàm này nhận được truy vấn tiếp theo trong máy chủ DNS-SD.

Thông tin chi tiết
Các thông số
[in] aInstance
Cấu trúc của phiên bản OpenThread.
[in] aQuery
Con trỏ truy vấn. Chuyển giá trị NULL để lấy truy vấn đầu tiên.
Trả về
Con trỏ tới truy vấn hoặc NULL nếu không có truy vấn nào khác.

otDnssdGetQueryTypeAndName

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

Hàm này nhận được loại và tên truy vấn DNS-SD cho một truy vấn cụ thể.

Thông tin chi tiết
Các thông số
[in] aQuery
Con trỏ truy vấn có được từ otDnssdGetNextQuery.
[out] aNameOutput
Vùng đệm đầu ra của tên, phải dài OT_DNS_MAX_NAME_SIZE byte.
Trả về
Loại truy vấn DNS-SD.

otDnssdQueryHandleDiscoveredHost

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

Hàm này thông báo cho máy chủ đã phát hiện.

Trình phân giải truy vấn bên ngoài (ví dụ: Proxy proxy) sẽ gọi hàm này để thông báo cho lõi OpenThread của các máy chủ đã đăng ký.

Thông tin chi tiết
Các thông số
[in] aInstance
Cấu trúc của phiên bản OpenThread.
[in] aHostFullName
Tên máy chủ đầy đủ bị chấm dứt.
[in] aHostInfo
Con trỏ đến thông tin về phiên bản dịch vụ đã phát hiện.

otDnssdQueryHandleDiscoveredServiceInstance

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

Hàm này thông báo cho một phiên bản dịch vụ đã phát hiện.

Trình phân giải truy vấn bên ngoài (ví dụ: Proxy Proxy) sẽ gọi hàm này để thông báo cho lõi OpenThread về các dịch vụ hoặc bản sao dịch vụ đã đăng ký.

Thông tin chi tiết
Các thông số
[in] aInstance
Cấu trúc của phiên bản OpenThread.
[in] aServiceFullName
Tên dịch vụ đầy đủ bị chấm dứt.
[in] aInstanceInfo
Con trỏ đến thông tin về phiên bản dịch vụ đã phát hiện.

otDnssdQuerySetCallbacks

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

Hàm này đặt lệnh gọi lại truy vấn máy chủ DNS-SD.

Máy chủ DNS-SD gọi aSubscribe để đăng ký một dịch vụ hoặc phiên bản dịch vụ nhằm phân giải một truy vấn DNS-SD và aUnsubscribe để hủy đăng ký khi truy vấn đó được giải quyết hoặc đã hết thời gian chờ.

Thông tin chi tiết
Các thông số
[in] aInstance
Cấu trúc của phiên bản OpenThread.
[in] aSubscribe
Con trỏ đến hàm callback để đăng ký một dịch vụ hoặc bản sao dịch vụ.
[in] aUnsubscribe
Con trỏ đến hàm callback để hủy đăng ký một dịch vụ hoặc bản sao dịch vụ.
[in] aContext
Con trỏ đến bối cảnh dành riêng cho ứng dụng.

Tài nguyên

Các chủ đề về Tham chiếu API OpenThread được tạo từ mã nguồn, có sẵn trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo phần Tài nguyên.