解碼IP包

概括

公共屬性

ackMsgId
uint32_t
checksum
uint16_t
destAddr [NL_IP6_ADDR_LEN_IN_BYTES]
uint8_t
destNodeId
uint64_t
destPort
uint16_t
encryptionType
uint8_t
exchFlags
uint8_t
exchangeId
uint16_t
icmpv6Code
uint8_t
icmpv6Type
uint8_t
ipPktSize
uint16_t
ipProtoType
uint8_t
ipProtoVersion
uint8_t
keyId
uint8_t
messageId
uint32_t
msgHdrFlags
uint16_t
msgType
uint16_t
profileId
uint32_t
srcAddr [NL_IP6_ADDR_LEN_IN_BYTES]
uint8_t
srcNodeId
uint64_t
srcPort
uint16_t

公共職能

DoesPacketHaveWeaveMessage (void) const
bool
檢查解碼後的數據包是否包含 Weave 消息。
PacketHeaderDecode (const uint8_t *pkt, uint16_t pktLen)
解析和解碼 IP、UDP/TCP 和 Weave 標頭的字段。

公共屬性

確認消息標識

uint32_t ackMsgId

校驗和

uint16_t checksum

目標地址

uint8_t destAddr[NL_IP6_ADDR_LEN_IN_BYTES]

目標節點ID

uint64_t destNodeId

目的端口

uint16_t destPort

加密類型

uint8_t encryptionType

交換標誌

uint8_t exchFlags

交換ID

uint16_t exchangeId

icmpv6代碼

uint8_t icmpv6Code

icmpv6 類型

uint8_t icmpv6Type

包大小

uint16_t ipPktSize

ip原型

uint8_t ipProtoType

ipProto版本

uint8_t ipProtoVersion

密鑰 ID

uint8_t keyId

消息標識

uint32_t messageId

msgHdrFlags

uint16_t msgHdrFlags

消息類型

uint16_t msgType

個人資料ID

uint32_t profileId

源地址

uint8_t srcAddr[NL_IP6_ADDR_LEN_IN_BYTES]

源節點ID

uint64_t srcNodeId

源端口

uint16_t srcPort

公共職能

是否PacketHaveWeaveMessage

bool DoesPacketHaveWeaveMessage(
  void
) const 

檢查解碼後的數據包是否包含 Weave 消息。

包頭解碼

WEAVE_ERROR PacketHeaderDecode(
  const uint8_t *pkt,
  uint16_t pktLen
)

解析和解碼 IP、UDP/TCP 和 Weave 標頭的字段。

細節
參數
[in] p
指向 IP 數據包的指針。
[in] pktLen
IP 數據包的長度。
退貨
解析數據包時 INET_ERROR 或成功時 INET_NO_ERROR。