http://blog.csdn.net/lirx_tech/article/details/51530420 http://blog.csdn.net/f2006116/article/details/51375470