Hello Andre
Andre Kirchner a écrit :
Thanks for the information. It was very helpful.
If the streamID is used to associate a response with a a request, what's the
use of csid?
As you know, RTMP stands for Real Time Media Protocol which means you
may use this protocol to exchange several streams at the time between a
client and a server. To do so you need to multiplexe your streams (ex :
one first stream for audio, a second one for video and so on). This is
achived transmiting data into small pieces so you could toggle sending
thses streams simultaneously.
For example you may want to send a 64KB data block to the server. This
data block is splitted into small pieces (chunks), sent to the server
and reassembled once received in order to recompose the original data
block. The default size of a chunk is 128 bits (it can be modified
sending a special low level protocol chunk, reserved csid 2, type 1).
As you can send several streams at the same time, client and server have
to identify each chunk stream exchanged.
The use of csid aims to solve a performance issue. As I wrote in my last
post, csid may be stored in only one byte where sid is always stored in
3 bytes. Multiplied by the number of chunks used to send a stream, it
would represent useless extra bytes consumption (in my example 64KB data
exchange may use an extra 1KB load if you consider sid would have to be
sent instead of using a csid between 3 and 63. Saved 1.5% of trafic).
I also guess this protocol was implemented in order to make difficult to
understand mecanisms behind Flash stream transmissions. After all, RTMP
specification where made public only a few weeks ago. ;) ;)
Cheers.
--
Max.
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org