Network 版 (精华区)

发信人: zzn (爱你到内伤), 信区: Network
标  题: mms协议英文资料(20)
发信站: 哈工大紫丁香 (2003年08月23日10:55:31 星期六), 站内信件

MMS Command Protocol State Sequences
There is a common sequence to commands sent and returned. Although it is 
interesting that you can change some command sequences and it still works, 
its probably best left alone.
Below shows a typical streaming session in order of sequence. Starting at top 
left of table.
Client Sent Command -> NETWORK <- Server Sent Command
01 - start with player version, - 01 - server software version, tool etc
GUID and optional host name
18 – packet timing data request - 15 – timing test replies
(1 or 3 of) see notes
02 – transport protocol select - 02 – protocol accepted UDP/TCP
03 – protocol failed
05 - media file name/path request - 1A – request for client password.
(only if password required by
server, else send 06 command
and ignore all 1A commands)
1A – send user password (encrypted) - 06 - media file details / packet info
15 - request media header - 11 – header request was accepted.
< If the client player flags requested UDP packet pair timing data, it is 
sent here >
< At this point, the server sends the whole header object data >
33 - send stream ID switch selection - 21 – streams were accepted
07 - start streaming from packet xx - 05 - media packets follow
< ### The server then sends media packets with mms pre-headers ### >
During a stream, the server sends a 1B command about 1 every minute.
The client replies with 1B also to keep the connection alive.
A stream is stopped by the server - by sending a 1E command to client
A stream is stopped by the client - by sending a 09 command or 0D command to 
server
Extra notes:
The server terminates streaming at EOF or end of live broadcast with the 
command 1E
This allows the media player buffer to empty gracefully first before ending.
Command 09 to server keeps the TCP connection open but halts the media player 
and server.
Command 0D actually closes the TCP socket connection.
The 09 to server stop command is usually followed by a 32 to server command 
with its dump data structure. Command 32 is only sent if the server version 
accepts command 32 data dumps. See notes.
If the initial mms protocol fails before fully establishing the link (maybe 
the server or player times out) then the 0D command is used to close the 
connection. Media player times out after around 15 seconds if the MMS 
protocol fails. Also, if the user closes the player during mms 
initialisation, the 0D is sent to the server to indicate connection closure.
The server can use a 20 command to change the current media stream without 
re-starting the player. After a 20 command to client is sent, a new header 
object is also sent and a new media stream then follows after the usual 07 to 
server and 05 to client mms commands. Note, it seems that 33 to server and 21 
to client commands are not required, but are seen in some streams.
For NTLM encoded password streams please note that the 1A command protocol is 
different as from that shown above. Please see the command 1A to client 
section in this document. 
--
    既然选择了远方,就让我们风雨兼程吧
    人生最快乐的事 莫过于
        有了目标,并为之奋斗!

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.243.49]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.170毫秒