分为客户端,服务端两个部分,其中有其余代码,会在我的文章中解释注释。