2.2.1.2 CONNECTED

The CONNECTED packet is used to accept a connection request or complete a connection handshake when signing is not enabled.


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

bCommand

bExtOpCode

bMsgID

bRspId

dwCurrentProtocolVersion

dwSessID

tTimestamp

bCommand (1 byte): A command-code bitmask that contains values that are combined by using the bitwise OR operation from the following table. The PACKET_COMMAND_CFRAME flag MUST be set. The PACKET_COMMAND_POLL flag MUST be set by a listener accepting a connection request and MUST NOT be set by a connector completing the connection handshake. All other bits MUST be set to zero and the packet MUST be ignored if they are not.

Value

Meaning

0x80

PACKET_COMMAND_CFRAME (command frame (CFRAME))

0x08

PACKET_COMMAND_POLL (acknowledge immediately)

bExtOpCode (1 byte): An extended operation code. It MUST be set to the following value:

Value

Meaning

0x02

FRAME_EXOPCODE_CONNECTED

bMsgID (1 byte): A message identifier. The initial value SHOULD be set to zero and SHOULD be incremented if the packet is retried.

bRspId (1 byte): A response identifier. This value MUST be set to the value of the bMsgID field in the CONNECT or CONNECTED message to which this is a response.

dwCurrentProtocolVersion (4 bytes): The version number of the sender's DirectPlay 8 Protocol, in little-endian byte order, where the upper 16 bits are considered a major version number and the lower 16 bits are considered a minor version number. The major version number MUST be set to 0x0001; otherwise, the packet MUST be ignored. The minor version number SHOULD<2> be set to 0x0006 to indicate support for all features, including coalescence and signing.

The recipient SHOULD be prepared to support older message formats used by earlier minor versions, but MUST ignore this packet if it does not. To ensure security, the packet MUST be ignored if the recipient is using signing but the minor version number is less than 0x0006.

The recipient SHOULD be prepared to receive minor version numbers higher than what it implements and supplies in its own CONNECTED or CONNECTED_SIGNED message, but both sides MUST only use message formats compatible with the lower of their two version numbers.

Value

Meaning

0x00010000 — 0x00010004

Any protocol version number between 1.0 and 1.4 implements the base features.

0x00010005

Protocol version number 1.5 implements the base features and adds support for coalescence.

0x00010006

Protocol version number 1.6 implements the base features, supports coalescence, and adds support for signing.

dwSessID (4 bytes): The session identifier. This value MUST be set to the value of dwSessID specified in the CONNECT or CONNECTED message to which this is a response.

tTimestamp (4 bytes): The sender's computer system tick count, in millisecond units, specified in little-endian byte order.