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.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Inet :: AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Đây là một lớp nội bộ của InetLayer cung cấp các API trợ giúp để phân giải Hệ thống tên miền không đồng bộ (DNS) trong InetLayer .

Tóm lược

Không có giao diện công cộng nào có sẵn cho lớp ứng dụng.

Chức năng công cộng

Cancel ( DNSResolver & resolver)
Hủy một truy vấn DNS chưa xử lý có thể vẫn đang hoạt động.
EnqueueRequest ( DNSResolver & resolver)
Yêu cầu một đối tượng DNSResolver để phân giải địa chỉ IP không đồng bộ của một tên máy chủ được chỉ định.
Init ( InetLayer *inet)
Trình khởi tạo rõ ràng cho lớp AsynchronousDNSResolverSockets.
PrepareDNSResolver ( DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Phương thức này chuẩn bị một đối tượng DNSResolver trước khi phân giải không đồng bộ.
Shutdown (void)
Đây là trình định nghĩa rõ ràng của lớp AsyncDNSResolverSockets và nó xử lý việc tắt các luồng và hủy các biến mutex và semaphore.

Chức năng công cộng

Huỷ bỏ

INET_ERROR Cancel(
  DNSResolver & resolver
)

Hủy một truy vấn DNS chưa xử lý có thể vẫn đang hoạt động.

Chi tiết
Thông số
[in] resolver
Tham chiếu đến đối tượng DNSResolver .

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Yêu cầu một đối tượng DNSResolver để phân giải địa chỉ IP không đồng bộ của một tên máy chủ được chỉ định.

Chi tiết
Thông số
[in] resolver
Tham chiếu đến đối tượng DNSResolver .
Giá trị trả lại
INET_NO_ERROR
nếu một yêu cầu DNS được xếp hàng đợi thành công.
INET_ERROR_NO_MEMORY
nếu nhóm phân giải lớp Inet đã đầy.
other
mạng POSIX thích hợp hoặc lỗi hệ điều hành.

Trong đó

INET_ERROR Init(
  InetLayer *inet
)

Trình khởi tạo rõ ràng cho lớp AsynchronousDNSResolverSockets.

Thao tác này khởi tạo các biến mutex và semaphore và tạo các luồng để xử lý phân giải DNS không đồng bộ.

Chi tiết
Thông số
[in] aInet
Một con trỏ đến đối tượng InetLayer .
Giá trị trả lại
INET_NO_ERROR
nếu khởi tạo thành công.
other
mạng POSIX thích hợp hoặc lỗi hệ điều hành.

Chuẩn bịDNSResolver

INET_ERROR PrepareDNSResolver(
  DNSResolver & resolver,
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolver::OnResolveCompleteFunct onComplete,
  void *appState
)

Phương thức này chuẩn bị một đối tượng DNSResolver trước khi phân giải không đồng bộ.

Chi tiết
Thông số
[in] resolver
Tham chiếu đến một đối tượng DNSResolver được phân bổ.
[in] hostName
Một con trỏ đến một chuỗi C đại diện cho tên máy chủ được truy vấn.
[in] hostNameLen
Độ dài chuỗi của tên máy chủ.
[in] options
Giá trị số nguyên kiểm soát cách thực hiện phân giải địa chỉ tên máy chủ. Các giá trị lấy từ kiểu liệt kê #DNSOptions.
[in] maxAddrs
Số lượng địa chỉ tối đa để lưu trữ trong bảng DNS.
[in] addrArray
Một con trỏ đến bảng DNS.
[in] onComplete
Một con trỏ đến hàm gọi lại khi yêu cầu DNS hoàn tất.
[in] appState
Một con trỏ đến trạng thái ứng dụng sẽ được chuyển đến onComplete khi một yêu cầu DNS hoàn tất.
Giá trị trả lại
INET_NO_ERROR
nếu một yêu cầu DNS được xử lý thành công.

Tắt

INET_ERROR Shutdown(
  void
)

Đây là trình định nghĩa rõ ràng của lớp AsyncDNSResolverSockets và nó xử lý việc tắt các luồng và hủy các biến mutex và semaphore.

Chi tiết
Giá trị trả lại
INET_NO_ERROR
nếu tắt máy thành công.
other
mạng POSIX thích hợp hoặc lỗi hệ điều hành.