RTSP協議狀態機

2021-04-25 08:07:34 字數 1385 閱讀 5597

發出的訊息

響應後下一狀態

初始態setup

就緒態teardown

初始態就緒態

play

record

記錄態teardown

初始態setup

就緒態pause

就緒態teardown

初始態play

setup

記錄態pause

就緒態teardown

初始態record

記錄態setup

記錄態(改變傳輸)

a.2 伺服器端狀態機

伺服器端呈現以下狀態:

初始態(init):最初的狀態,未收到有效的setup請求

記錄態(recording):伺服器正在記錄**資料

除非redirect訊息有range首部域指出重定向生效的時間,否則它在發出後立即生效。在有range的情況下,伺服器狀態也會在恰當的時間改變。

"下一狀態"列表示發出乙個成功響應(2xx)後的狀態。如果某個請求引起狀態碼3xx,則狀態變成初始態。4xx的狀態碼不會引起狀態改變。 狀態

收到的訊息

下一狀態

初始態setup

就緒態teardown

初始態就緒態

play

setup

就緒態teardown

初始態record

記錄態play

pause

就緒態teardown

初始態setup

記錄態record

記錄態pause

就緒態teardown

初始態setup

記錄態

附:rtsp狀態

rtsp用以***體流(stream),該**流可能通過乙個單獨的協議,與控制通道(control channel)無關的方式被傳送的。比如,rtsp控制可能出現在tcp連線,而資料卻通過udp傳送。因此,**伺服器即使沒有收到rtsp請求,資料傳遞也會繼續。同樣地,在單個**流的生命週期裡,它可能順序地被不同tcp連線發出的rtsp請求所控制。所以伺服器需要維護「會話狀態(session state)」,能夠將rtsp請求和某個**流關聯起來。狀態遷移如上文所述。

rtsp中許多方法對狀態無影響。但是,下面幾個方法在定義伺服器上**流資源的分配和使用時,有重要作用:setup, play, record, pause, 和teardown。

setup:使伺服器為**流和啟動乙個rtsp會話分配資源。

play和record:開始在**流(通過setup分配)上傳送資料

pause:暫時中斷某個**流,但沒有釋放伺服器資源

影響rtsp狀態的方法使用會話首部域(session header field)來標識狀態正在被操作的會話。伺服器在響應setup請求時,產生會話標誌符。

RTSP協議狀態機

狀態 發出的訊息 響應後下一狀態 初始態setup 就緒態teardown 初始態就緒態 play record 記錄態teardown 初始態setup 就緒態pause 就緒態teardown 初始態play setup 記錄態pause 就緒態teardown 初始態record 記錄態set...

狀態機 狀態機0

近半年都忙於做專案,沒有太多的時間去整理和總結在專案中用過的技術 個人還是覺得技術需要總結提煉和沉澱的,忙到沒時間去總結提公升其實不 是什麼好事,這次講下狀態機,在戰鬥型別的遊戲中角色有多種不同的狀態,而狀態的切換錯綜複雜,23種設計模式中有一種模式叫做狀態模式,不過 這種模式是把狀態切換條件放到各...

python 狀態機 Python 狀態機

class statemachine def init self self.handlers 狀態轉移函式字典 self.startstate none 初始狀態 self.endstate 最終狀態集合 引數name為狀態名,handler為狀態轉移函式,end state表明是否為最終狀態 de...