2.2.4.17 LinkViewerToMacConnect
The LinkViewerToMacConnect message is sent by the client to request a connection to a server.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
chunkLen |
|||||||||||||||||||||||||||||||
MID |
|||||||||||||||||||||||||||||||
playIncarnation |
|||||||||||||||||||||||||||||||
MacToViewerProtocolRevision |
|||||||||||||||||||||||||||||||
ViewerToMacProtocolRevision |
|||||||||||||||||||||||||||||||
subscriberName (variable) |
|||||||||||||||||||||||||||||||
... |
chunkLen (4 bytes): Length of the message in chunks. A chunk is 8 bytes.
MID (4 bytes): Message identifier. For this message, the value MUST be 0x00030001.
playIncarnation (4 bytes): A 32-bit field. The field specifies the type of packet-pair bandwidth estimation that is used, if any. The field SHOULD be set to one of the following values:<15>
-
Value
Meaning
MMS_DISABLE_PACKET_PAIR
0xf0f0f0ef
Packet-pair bandwidth estimation not requested.
MMS_USE_PACKET_PAIR
0xf0f0f0f0
Requests that packet-pair bandwidth estimation be performed.
MacToViewerProtocolRevision (4 bytes): A 32-bit field. It MUST be set to 0x0004000B.
ViewerToMacProtocolRevision (4 bytes): A 32-bit field. It MUST be set to 0x0003001C.
subscriberName (variable): An array of Unicode characters that specifies the major and minor version numbers of the Microsoft software product that is sending the LinkViewerToMacConnect message.
If the LinkViewerToMacConnect message is sent through a proxy server, the subscriberName field MUST specify the name and port number of the server using the host-param syntax element (defined below), and SHOULD also specify the name and port number of the server using the host-string syntax element.<16>
If a proxy server forwards a LinkViewerToMacConnect message, and the subscriberName field does not contain the host-string syntax element, it MUST insert that syntax element into the field. Also, each proxy server MUST add information identifying its product name and version into the via-string syntax element. If the subscriberName field does not contain a via-string syntax element, the proxy server MUST add it. Otherwise, the proxy server appends its information to the existing information using a comma character as the separator, as specified by the following syntax.
The ABNF (as specified in [RFC4234]) syntax of the subscriberName field is defined as follows.
-
host-info = host ; as defined in [RFC3986] [ ":" port ] ; as defined in [RFC3986] host-param = "; Host: " host-info host-string = "HOST: " host-info via-info = token [ "/" token ] *( "," [SP] token [ "/" token ] ) via-string = "VIA: " via-info client-guid = "; {" 8HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 12HEXDIG "}" major = 1*2DIGIT minor = 1*2DIGIT ["." 1*4DIGIT "." 1*4DIGIT] client-token = "Spooooon!" / ( "NSPlayer" "/" major "." minor client-guid ) subscriberName = client-token [ host-param ] %x0000 [ host-string %x0000 ] [ via-string %x0000 ]
Clients MUST assign the values of the client-token, major, and minor ABNF syntax elements according to the table below. <17>
Client-token |
Major |
Minor |
---|---|---|
Spoooon! |
|
|
Spoooon! |
|
|
NSPlayer |
4 |
1 |
NSPlayer |
7 |
0 |
NSPlayer |
7 |
1 |
NSPlayer |
8 |
0 |
NSPlayer |
9 |
0 |
NSPlayer |
10 |
0 |
Example:
-
NSPlayer/4.1.0.3928; {68c0a090-8797-11d2-a2b3-00a0c9b60551}