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