4.1.2.2 Replying with a List of Supported Protocol Versions

The following example is an annotated dump of the MILCTRLCMD_CONNECTIONNOTIFICATION message followed by a MILMSG_VERSIONREPLY connection notification, followed by a variable-length array of supported protocol version identifiers. This notification is sent by the client in response to the MILCTRLCMD_VERSIONREQUEST message sent by the server.

 00000000    09 00 00 00 50 00 00 00-00 00 00 00 00 00 00 00  ....P...........
 00000010    03 00 00 00 00 00 00 00-01 00 00 00 00 00 00 00  ................
 00000020    00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
 00000030    00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
 00000040    00 00 00 00 00 00 00 00-00 00 00 00 8c 46 3d 61  .............F=a
  
 09 00 00 00               MILCTRLCMD_CONNECTIONNOTIFICATION::controlCode = 0x00000009
 50 00 00 00               MILCTRLCMD_CONNECTIONNOTIFICATION::messageSize = 0x50 = 80 bytes
 00 00 00 00 00 00 00 00   MILCTRLCMD_CONNECTIONNOTIFICATION::unused (8 bytes)
 03 00 00 00               MILMSG_VERSIONREPLY::controlCode = 0x00000003
 00 00 00 00               MILMSG_VERSIONREPLY::unused (4 bytes)
 01 00 00 00               MILMSG_VERSIONREPLY::SupportedVersionsCount = 0x00000001
 00 00 00 00 (repeated 12 times)   MILMSG_VERSIONREPLY::unused (48 bytes)
 8c 46 3d 61               MILMSG_VERSIONREPLY::supportedVersions. 
  

Because the SupportedVersionsCount field is set to 0x00000001, the supportedVersions array is exactly 4 bytes in size and contains the MIL_SDK_VERSION identifier supported by the client.