re: 在內(nèi)存中解壓-實用gzip解壓類封裝 David Fang 2010-03-09 17:00
@阿福
壓縮這方面我還沒研究過,不過這段代碼測試的對象是HTTP協(xié)議的返回內(nèi)容。當HTTP響應(yīng)頭中的Content-Encoding值為gzip時,可以用這個類正確解壓出html內(nèi)容。
A(我理解是客戶端)發(fā)送的數(shù)據(jù)被xproxy_connection收到后,會調(diào)用handle_login_clt_sock_read,它將客戶端發(fā)來的數(shù)據(jù)到服務(wù)器,這時如果A和代理間的連接掉了不影響數(shù)據(jù)發(fā)到服務(wù)器。當之前從客戶端收到的數(shù)據(jù)從代理發(fā)到服務(wù)器完畢后,handle_ana_srv_sock_write被調(diào)用,代理又開始從客戶端接收數(shù)據(jù),這才發(fā)現(xiàn)客戶端關(guān)閉連接了,異步調(diào)用的處理函數(shù)handle_login_clt_sock_read會得到一個錯誤,然后就撤銷與服務(wù)器連接的socket的所有請求,而本身和客戶端連接的socket有沒有新的調(diào)用,因此整個連接會被釋放,應(yīng)該還算比較合理吧。
嘿嘿,這個是安全項目的內(nèi)幕,為了保護背后的網(wǎng)絡(luò)。