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有没有新的调用,因此整个连接会被释放,应该还算比较合理吧。