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.

UDP

Mô-đun này bao gồm các chức năng kiểm soát việc giao tiếp UDP.

Tóm tắt

Bảng liệt kê

otNetifIdentifier{
  OT_NETIF_UNSPECIFIED = 0,
  OT_NETIF_THREAD,
  OT_NETIF_BACKBONE
}
enum
Giá trị liệt kê này xác định giá trị nhận dạng giao diện mạng OpenThread.

Loại

otNetifIdentifier typedef
Giá trị liệt kê này xác định giá trị nhận dạng giao diện mạng OpenThread.
otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
bool(*
Lệnh gọi lại này cho phép Openthread cung cấp các trình xử lý cụ thể cho các thông báo UDP nhất định.
otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
Lệnh gọi lại này cho phép OpenThread thông báo cho ứng dụng về thông báo UDP đã nhận được.
otUdpReceiver typedef
struct otUdpReceiver
Cấu trúc này đại diện cho bộ thu UDP.
otUdpSocket typedef
struct otUdpSocket
Cấu trúc này thể hiện một ổ cắm UDP.

Hàm

otUdpAddReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Hàm này thêm một bộ thu UDP.
otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif)
Liên kết ổ cắm UDP/IPv6.
otUdpClose(otInstance *aInstance, otUdpSocket *aSocket)
Đóng ổ cắm UDP/IPv6.
otUdpConnect(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName)
Kết nối ổ cắm UDP/IPv6.
otUdpGetSockets(otInstance *aInstance)
Hàm này đứng đầu danh sách đường liên kết của các Khóa cổng UDP.
otUdpIsOpen(otInstance *aInstance, const otUdpSocket *aSocket)
bool
Kiểm tra xem cổng UDP có đang mở hay không.
otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Phân bổ vùng đệm thư mới để gửi thông báo UDP.
otUdpOpen(otInstance *aInstance, otUdpSocket *aSocket, otUdpReceive aCallback, void *aContext)
Mở ổ cắm UDP/IPv6.
otUdpRemoveReceiver(otInstance *aInstance, otUdpReceiver *aUdpReceiver)
Hàm này sẽ xóa một bộ thu UDP.
otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessage, const otMessageInfo *aMessageInfo)
Gửi thông báo UDP/IPv6.
otUdpSendDatagram(otInstance *aInstance, otMessage *aMessage, otMessageInfo *aMessageInfo)
Hàm này gửi thông báo UDP mà không có ổ cắm.

Cấu trúc

otUdpReceiver

Cấu trúc này đại diện cho bộ thu UDP.

otUdpSocket

Cấu trúc này thể hiện một ổ cắm UDP.

Bảng liệt kê

Định dạng otNetifIdentifier

 otNetifIdentifier

Giá trị liệt kê này xác định giá trị nhận dạng giao diện mạng OpenThread.

Tài sản
OT_NETIF_BACKBONE

Giao diện Backbone.

OT_NETIF_THREAD

Giao diện Chuỗi.

OT_NETIF_UNSPECIFIED

Giao diện mạng không xác định.

Loại

Định dạng otNetifIdentifier

enum otNetifIdentifier otNetifIdentifier

Giá trị liệt kê này xác định giá trị nhận dạng giao diện mạng OpenThread.

otUdpHandler

bool(* otUdpHandler)(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo)

Lệnh gọi lại này cho phép Openthread cung cấp các trình xử lý cụ thể cho các thông báo UDP nhất định.

Thông tin chi tiết
Giá trị trả về
true
Tin nhắn do người nhận này xử lý và không được xử lý thêm.
false
Người nhận này không xử lý tin nhắn.

otUdpNhận

void(* otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

Lệnh gọi lại này cho phép OpenThread thông báo cho ứng dụng về thông báo UDP đã nhận được.

otUdp Đầu thu

struct otUdpReceiver otUdpReceiver

Cấu trúc này đại diện cho bộ thu UDP.

otUdpSocket

struct otUdpSocket otUdpSocket

Cấu trúc này thể hiện một ổ cắm UDP.

Hàm

otUdpAddReceiver

otError otUdpAddReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Hàm này thêm một bộ thu UDP.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aUdpReceiver
Con trỏ đến bộ thu UDP.
Giá trị trả về
OT_ERROR_NONE
Đã thêm người nhận thành công.
OT_ERROR_ALREADY
Bộ thu UDP đã được thêm.

otUdpBind

otError otUdpBind(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName,
  otNetifIdentifier aNetif
)

Liên kết ổ cắm UDP/IPv6.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSocket
Con trỏ đến cấu trúc ổ cắm UDP.
[in] aSockName
Con trỏ đến cấu trúc địa chỉ ổ cắm IPv6.
[in] aNetif
Giao diện mạng cần liên kết.
Giá trị trả về
OT_ERROR_NONE
Liên kết thành công.
OT_ERROR_FAILED
Không liên kết được ổ cắm UDP.

Đóng otUdp

otError otUdpClose(
  otInstance *aInstance,
  otUdpSocket *aSocket
)

Đóng ổ cắm UDP/IPv6.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSocket
Con trỏ đến cấu trúc ổ cắm UDP.
Giá trị trả về
OT_ERROR_NONE
Đã đóng ổ cắm.
OT_ERROR_FAILED
Không đóng được Đế cắm UDP.

otUdpKết nối

otError otUdpConnect(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  const otSockAddr *aSockName
)

Kết nối ổ cắm UDP/IPv6.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSocket
Con trỏ đến cấu trúc ổ cắm UDP.
[in] aSockName
Con trỏ đến cấu trúc địa chỉ ổ cắm IPv6.
Giá trị trả về
OT_ERROR_NONE
Đã kết nối thành công.
OT_ERROR_FAILED
Không kết nối được cổng UDP.

otUdpGetSocket

otUdpSocket * otUdpGetSockets(
  otInstance *aInstance
)

Hàm này đứng đầu danh sách đường liên kết của các Khóa cổng UDP.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
Lấy lại được quyền truy cập
Con trỏ đến đầu danh sách được liên kết của Bộ chuyển đổi UDP.

otUdpIsOpen

bool otUdpIsOpen(
  otInstance *aInstance,
  const otUdpSocket *aSocket
)

Kiểm tra xem cổng UDP có đang mở hay không.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSocket
Con trỏ đến cấu trúc ổ cắm UDP.
Lấy lại được quyền truy cập
UDP cắm UDP có mở hay không.

Tin nhắn mới

otMessage * otUdpNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Phân bổ vùng đệm thư mới để gửi thông báo UDP.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSettings
Con trỏ tới cài đặt tin nhắn hoặc NULL để sử dụng các cài đặt mặc định.
Lấy lại được quyền truy cập
Con trỏ tới bộ đệm tin nhắn hoặc NULL nếu không có bộ đệm tin nhắn nào hoặc thông số không hợp lệ.
Xem thêm:
otMessageFree

otUdpMở

otError otUdpOpen(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otUdpReceive aCallback,
  void *aContext
)

Mở ổ cắm UDP/IPv6.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSocket
Con trỏ đến cấu trúc ổ cắm UDP.
[in] aCallback
Con trỏ đến hàm gọi lại ứng dụng.
[in] aContext
Con trỏ tới ngữ cảnh theo từng ứng dụng.
Giá trị trả về
OT_ERROR_NONE
Đã mở ổ cắm thành công.
OT_ERROR_FAILED
Không mở được ổ cắm.

otUdpRemoveReceiver

otError otUdpRemoveReceiver(
  otInstance *aInstance,
  otUdpReceiver *aUdpReceiver
)

Hàm này sẽ xóa một bộ thu UDP.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aUdpReceiver
Con trỏ đến bộ thu UDP.
Giá trị trả về
OT_ERROR_NONE
Đã xóa thành công người nhận.
OT_ERROR_NOT_FOUND
Bộ thu UDP không được thêm vào.

otUdpGửi

otError otUdpSend(
  otInstance *aInstance,
  otUdpSocket *aSocket,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

Gửi thông báo UDP/IPv6.

Nếu giá trị trả về là OT_ERROR_NONE, thì Openthread sẽ có quyền sở hữu aMessage và người gọi sẽ không tham chiếu đến aMessage nữa. Nếu giá trị trả về không phải là OT_ERROR_NONE, thì người gọi sẽ vẫn giữ quyền sở hữu aMessage, bao gồm cả việc giải phóng aMessage nếu không cần vùng đệm tin nhắn nữa.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aSocket
Con trỏ đến cấu trúc ổ cắm UDP.
[in] aMessage
Con trỏ tới bộ đệm tin nhắn.
[in] aMessageInfo
Con trỏ đến cấu trúc thông tin thư.

Thông tin chi tiết
Giá trị trả về
OT_ERROR_NONE
Đã lên lịch gửi thư thành công.
OT_ERROR_INVALID_ARGS
Bạn đã cung cấp đối số không hợp lệ.
OT_ERROR_NO_BUFS
Không đủ bộ đệm có sẵn để thêm tiêu đề UDP và IPv6.

otUdpGửiDữ liệu

otError otUdpSendDatagram(
  otInstance *aInstance,
  otMessage *aMessage,
  otMessageInfo *aMessageInfo
)

Hàm này gửi thông báo UDP mà không có ổ cắm.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một bản sao OpenThread.
[in] aMessage
Con trỏ tới thư không có tiêu đề UDP.
[in] aMessageInfo
Con trỏ trỏ đến thông tin tin nhắn liên kết với aMessage.
Giá trị trả về
OT_ERROR_NONE
Đã đưa thông báo vào hàng đợi thành công trong một giao diện đầu ra.
OT_ERROR_NO_BUFS
Không có đủ bộ nhớ đệm để thêm tiêu đề IPv6.

Nguồn lực

Các chủ đề trong API tham chiếu Openthread có nguồn gốc từ mã nguồn, có 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.