2.2.3 NAT_RESOLVER_QUERY

The NAT_RESOLVER_QUERY is sent to retrieve translated address information.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

bZero

bCommand

wMessageID

dwSourceID

UserData (variable)

...

bZero (1 byte): An 8-bit identifier used to distinguish this message from DirectPlay 8 Protocol: Reliable messages to the same UDP port. It MUST be set to 0.

bCommand (1 byte): An 8-bit command code identifying this message as a NAT Resolver Query message. It MUST be set to 0x06, NAT_RESOLVER_QUERY_DATA_KIND (NAT Resolver Query message type).

wMessageID (2 bytes): A 16-bit value used by the sender to uniquely identify an individual NAT Resolver Query message. This can be any value desired by the sender and MUST be echoed in the response message by the receiver. It SHOULD change each time a query message is retried.

dwSourceID (4 bytes): A 32-bit value used by the sender to identify the source of a NAT Resolver Query message. This can be any value desired by the sender and MUST be echoed in the response message by the receiver.

UserData (variable): An optional, variable length field containing an application-specific query payload. The size of the UserData field is determined by the remaining size of the UDP packet. If a receiver determines that there are no more bytes after the complete NAT_RESOLVER_QUERY message header, then the UserData field was omitted by the sender.