Export (0) Print
Expand All

4.1 General Push Distribution Sequence

The following sequence occurs between a client and a server during a push distribution.

  1. The client sends a PushSetup request.

  2. If the server requires the client to be authenticated, the server and client exchange access authentication HTTP headers as specified in [RFC2616] section 11.

    Note  The HTTP exchanges required for authentication are defined by the selected authentication scheme.

  3. If authentication is not required, or if authentication has succeeded, the server responds with a "204 No Content" HTTP response.

  4. The client sends a PushStart request, followed by an $H packet and $D packets.

  5. After all $D packets have been sent to the server, the client sends an $E packet with the Reason field set to 0x00000000 to indicate that the data transfer has been completed. The server then closes the connection after the reception of the $E(0x00000000) packet.

  6. The client closes the TCP connection to the server. This action also ends the streaming session.

The following figure shows a message sequence with a single PushStart request with timer state changes.


Figure 1: General push distribution sequence with a single PushStart request

The timer events in the preceding diagram are as follows.

  • E1: The server starts the Inactivity-Timer.

  • E2: The server stops the Inactivity-Timeout timer, and starts the Idle-Timeout timer.

  • E3: The server restarts the Idle-Timer.

  • E4: The server restarts the Idle-Timer.

  • D1: The server deletes the session state, including the timer.

  • C1: The client closes the TCP connection.

© 2014 Microsoft