最近在研究crtmpserver http部分,記錄一些基本的流程,以備查閱。
首先,開啟配置指令碼crtmpserver.lua ,確認指令碼中有以下內容,如果沒有需要加上。
,在瀏覽器位址列中輸入跟蹤crtmpserver堆疊,呼叫堆疊如下圖所示。acceptors =,
}--validatehandshake=true
, --default=true
, },
圖1 crtmpserver接收http呼叫堆疊
下面逐步分析流程:
1.tcpcarrier::onevent(select_event &event)
carrier層要麼是udp,要麼是tcp,http協議傳輸層採用的是http,所以是接收到tcp鏈結。
crtmpserver執行後通過register 將http,tcp協議註冊到一起。**如下:
}這段**的呼叫流程如下圖所示:
圖2 httpechoprotocol流程
tcp 從tcp鏈結快取中讀取資料**如下,讀取的資料放在pinputbuffer.
bool tcpcarrier::onevent(select_event &event)2. 看下tcp procotol signalinputdata**_rx += readamount;
return _pprotocol->signalinputdata(readamount);
}
bool tcpprotocol::signalinputdata(int32_t recvamount)_inputbuffer 中的內容如下,httpechoprotocol/testhttp 即是在瀏覽器位址上輸入的http位址。
3. _pnearprotocol 實際上是basehttpprotocol. _pnearprotocol->signalinputdata實際呼叫是basehttpprotocol::signalinputdata。
signalinputdata 呼叫 handlefixedlengthcontent 方法,該方法會將http內容傳給具體echoprotocol,方法內容如下:
}_pnearprotocol 實際是echoprotocol
不用keytool,tomcat開啟https
要用到https,也就是tls或者ssl,我們需要有證書,要麼是法定證書機構 verisign,中國估計也有 給你簽發的可信證書,要麼自己給tomcat 配置https自己頒發乙個根證書。自己給自己頒發的證書,瀏覽器是不信任的,會彈出乙個提示框。ssl認證分為雙向認證和單向認證 客戶端認證伺服器 一...
不用keytool,tomcat開啟https
要用到https,也就是tls或者ssl,我們需要有證書,要麼是法定證書機構 verisign,中國估計也有 給你簽發的可信證書,要麼自己給tomcat 配置https自己頒發乙個根證書。自己給自己頒發的證書,瀏覽器是不信任的,會彈出乙個提示框。ssl認證分為雙向認證和單向認證 客戶端認證伺服器 一...
windows下為apache配置https
前面為 tomcat 配置好了證書,接下來就是為 apache 配置證書。這裡先宣告幾點,第一,很多教程都是先配置 apache 再來生成證書,其實不用,證書用前面生成好的就可以,只要在 apache 中新增幾行 就行了。第二,證書有很多不同的表現形式,在 windows 下看字尾就可以了,甚至很多...