4.3 General Sequence
The following list shows the sequence of TCP packets that pass over the wire when the client attempts to stream a media file from the server using the MMS Protocol. The sequence assumes that the media stream does not require authentication and that the client does not request packet-pair bandwidth estimation.
Figure 3: Sequence of TCP packets
The client requests a connection from the server by sending a LinkViewerToMacConnect message.
The server responds with a LinkMacToViewerReportConnectedEX message.
The client requests information from the server with a LinkViewerToMacFunnelInfo message.
The server responds with a LinkMacToViewerReportFunnelInfo message.
The server responds by sending a LinkMacToViewerReportConnectedFunnel message to notify the client that it will use the requested port.
The client requests, by name, the specific media file it needs to have streamed to it from the server by sending a LinkViewerToMacOpenFile message.
The server responds that it was able to open the requested file with a LinkMacToViewerReportOpenFile message.
The client requests the file header from the server by sending a LinkViewerToMacReadBlock message.
The client requests the streams it needs from the server by sending a LinkViewerToMacStreamSwitch message.
The server responds with a LinkMacToViewerReportStreamSwitch message.
The client requests that the server begin streaming the media file by sending a LinkViewerToMacStartPlaying message.
The server responds with a LinkMacToViewerReportStartedPlaying message and also sends a stream of Data packets.
During file playback, the client can send a LinkViewerToMacStopPlaying message.
The server sends a LinkMacToViewerReportEndOfStream message to the client either in response to the client's request or because the end of the stream has been reached.
The client sends a LinkViewerToMacLogging message that contains the log information.
The client sends a LinkViewerToMacCloseFile message. The client closes the network socket connection.