<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/624fcf9274bc5c010553d19b/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/624fcf9274bc5c010553d19b/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">C#.Net<span class="_ _0"> </span><span class="ff2 sc1 ls1">网络程序开发<span class="_ _1"></span></span>-<span class="_ _2"></span>S<span class="_ _3"></span>o<span class="_ _2"></span>c<span class="_ _4"></span>k<span class="_ _4"></span>et<span class="_ _0"> </span><span class="ff2 sc1">篇</span><span class="ff3 fs1 fc1"> </span></div><div class="t m0 x2 h3 y2 ff3 fs1 fc1 sc0 ls0 ws0">M<span class="_ _4"></span>ic<span class="_ _2"></span>ros<span class="_ _1"></span>oft<span class="_ _4"></span>.<span class="_ _1"></span>N<span class="_ _2"></span>e<span class="_ _3"></span>t <span class="_ _2"></span>Fram<span class="_ _5"></span>e<span class="_ _3"></span>wor<span class="_ _1"></span>k<span class="_ _0"> </span><span class="ff2">为应<span class="_ _1"></span>用程序<span class="_ _1"></span>访问<span class="_ _6"> </span></span>In<span class="_ _4"></span>t<span class="_ _1"></span>ern<span class="_ _2"></span>et<span class="_ _0"> </span><span class="ff2">提<span class="_ _1"></span>供了分<span class="_ _1"></span>层的<span class="_ _5"></span>、<span class="_ _7"></span>可扩<span class="_ _1"></span>展的以<span class="_ _1"></span>及受</span></div><div class="t m0 x2 h3 y3 ff2 fs1 fc1 sc0 ls0 ws0">管辖的网<span class="_ _1"></span>络服务<span class="_ _5"></span>,<span class="_ _4"></span>其<span class="_ _1"></span>名字空间<span class="_ _8"> </span><span class="ff3">Sy<span class="_ _4"></span>s<span class="_ _2"></span>t<span class="_ _1"></span>em<span class="_ _2"></span>.<span class="_ _1"></span>N<span class="_ _4"></span>e<span class="_ _4"></span>t<span class="_ _6"> </span><span class="ff2">和<span class="_ _0"> </span></span>S<span class="_ _1"></span>ystem.<span class="_ _1"></span>Net.<span class="_ _3"></span>S<span class="_ _1"></span>ock<span class="_ _2"></span>ets<span class="_ _8"> </span><span class="ff2">包含<span class="_ _1"></span>丰富的<span class="_ _1"></span>类可</span></span></div><div class="t m0 x2 h3 y4 ff2 fs1 fc1 sc0 ls0 ws0">以开发多<span class="_ _1"></span>种网络<span class="_ _5"></span>应用程<span class="_ _1"></span>序。<span class="ff3">.<span class="_ _1"></span>Net<span class="_ _0"> </span></span>类<span class="_ _1"></span>采用的<span class="_ _1"></span>分层<span class="_ _2"></span>结<span class="_ _1"></span>构允许<span class="_ _1"></span>应用<span class="_ _2"></span>程<span class="_ _1"></span>序在<span class="_ _1"></span>不同的<span class="_ _5"></span>控制级<span class="_ _1"></span>别</div><div class="t m0 x2 h4 y5 ff2 fs1 fc1 sc0 ls0 ws0">上访问网<span class="_ _1"></span>络,开<span class="_ _5"></span>发人员<span class="_ _1"></span>可以根<span class="_ _1"></span>据需<span class="_ _2"></span>要<span class="_ _1"></span>选择针<span class="_ _1"></span>对不同<span class="_ _5"></span>的级<span class="_ _1"></span>别编制<span class="_ _5"></span>程序,<span class="_ _1"></span>这些级<span class="_ _1"></span>别几乎</div><div class="t m0 x2 h3 y6 ff2 fs1 fc1 sc0 ls1 ws0">囊括了<span class="_ _8"> </span><span class="ff3 ls0">In<span class="_ _4"></span>te<span class="_ _1"></span>rn<span class="_ _2"></span>et<span class="_ _0"> </span><span class="ff2">的所<span class="_ _1"></span>有需要<span class="_ _5"></span></span><span class="ls2">--</span><span class="ff2">从<span class="_ _0"> </span></span>s<span class="_ _1"></span>o<span class="_ _4"></span>c<span class="_ _2"></span>k<span class="_ _1"></span>e<span class="_ _4"></span>t<span class="_"> </span><span class="ff2">套<span class="_ _1"></span>接字到<span class="_ _1"></span>普通<span class="_ _2"></span>的<span class="_ _1"></span>请求</span>/<span class="_ _1"></span><span class="ff2">响应,更重要<span class="_ _5"></span>的是<span class="_ _1"></span>,<span class="_ _4"></span>这</span></span></div><div class="t m0 x2 h3 y7 ff2 fs1 fc1 sc0 ls0 ws0">种分层是<span class="_ _1"></span>可以扩<span class="_ _5"></span>展的,<span class="_ _1"></span>能够适<span class="_ _1"></span>应<span class="_ _6"> </span><span class="ff3">I<span class="_ _9"></span>n<span class="_ _2"></span>ter<span class="_ _1"></span>n<span class="_ _4"></span>et<span class="_ _8"> </span><span class="ff2">不断扩<span class="_ _1"></span>展的<span class="_ _1"></span>需要<span class="_ _2"></span>。<span class="_ _1"></span></span> <span class="_"> </span> </span></div><div class="t m0 x2 h3 y8 ff2 fs1 fc1 sc0 ls1 ws0">抛开<span class="_ _8"> </span><span class="ff3 ls0">I<span class="_ _9"></span>SO<span class="_ _2"></span>/OS<span class="_ _1"></span>I<span class="_"> </span><span class="ff2 ls1">模型的<span class="_ _8"> </span></span>7<span class="_"> </span><span class="ff2">层构<span class="_ _1"></span>架,单<span class="_ _1"></span>从<span class="_ _0"> </span></span>TCP<span class="_ _5"></span>/<span class="_ _1"></span>I<span class="_ _9"></span>P<span class="_"> </span><span class="ff2">模<span class="_ _1"></span>型上的<span class="_ _1"></span>逻辑层<span class="_ _1"></span>面上<span class="_ _2"></span>看<span class="_ _1"></span>,</span>.<span class="_ _1"></span>N<span class="_ _4"></span>e<span class="_ _2"></span>t<span class="_"> </span><span class="ff2">类可<span class="_ _1"></span>以</span></span></div><div class="t m0 x2 h3 y9 ff2 fs1 fc1 sc0 ls1 ws0">视为包含<span class="_ _8"> </span><span class="ff3 ls0">3<span class="_ _0"> </span><span class="ff2">个层<span class="_ _1"></span>次:请<span class="_ _5"></span>求</span>/<span class="ff2">响<span class="_ _1"></span>应层、<span class="_ _1"></span>应用协<span class="_ _1"></span>议层、<span class="_ _5"></span>传输层<span class="_ _1"></span>。</span>W<span class="_ _1"></span>eb<span class="_ _4"></span>R<span class="_ _5"></span>e<span class="_ _3"></span>q<span class="_ _2"></span>eu<span class="_ _4"></span>s<span class="_ _1"></span>t<span class="_ _8"> </span><span class="ff2">和</span></span></div><div class="t m0 x2 h3 ya ff3 fs1 fc1 sc0 ls0 ws0">W<span class="_ _1"></span>e<span class="_ _4"></span>bResp<span class="_ _1"></span>on<span class="_ _4"></span>s<span class="_ _5"></span>e <span class="_"> </span><span class="ff2">代表了<span class="_ _1"></span>请求</span>/<span class="_ _1"></span><span class="ff2">响应层<span class="_ _1"></span>,支持<span class="_ _8"> </span></span>H<span class="_ _4"></span>t<span class="_ _1"></span>tp<span class="_ _2"></span><span class="ff2">、</span>Tc<span class="_ _2"></span>p<span class="_"> </span><span class="ff2">和<span class="_ _8"> </span></span>Udp<span class="_"> </span><span class="ff2">的类<span class="_ _2"></span>组<span class="_ _1"></span>成了应<span class="_ _1"></span>用协议</span></div><div class="t m0 x2 h3 yb ff2 fs1 fc1 sc0 ls1 ws0">层,而<span class="_ _0"> </span><span class="ff3 ls0">S<span class="_ _1"></span>oc<span class="_ _2"></span>k<span class="_ _4"></span>e<span class="_ _1"></span>t<span class="_"> </span><span class="ff2">类处<span class="_ _1"></span>于传输<span class="_ _1"></span>层。<span class="_ _1"></span></span> <span class="_"> </span> </span></div><div class="t m0 x2 h3 yc ff2 fs1 fc1 sc0 ls0 ws0">传输层位<span class="_ _1"></span>于这个<span class="_ _5"></span>结构的<span class="_ _1"></span>最底层<span class="_ _1"></span>,<span class="_ _a"></span>当其上<span class="_ _1"></span>面的应<span class="_ _5"></span>用协议<span class="_ _1"></span>层和请<span class="_ _1"></span>求<span class="ff3">/</span>响<span class="_ _1"></span>应层不<span class="_ _5"></span>能满足<span class="_ _1"></span>应用</div><div class="t m0 x2 h3 yd ff2 fs1 fc1 sc0 ls0 ws0">程序的特<span class="_ _1"></span>殊需要<span class="_ _5"></span>时,就<span class="_ _1"></span>需要使<span class="_ _1"></span>用这<span class="_ _2"></span>一<span class="_ _1"></span>层进行<span class="_ _8"> </span><span class="ff3">Soc<span class="_ _2"></span>k<span class="_ _2"></span>et<span class="_ _0"> </span></span>套<span class="_ _1"></span>接字编<span class="_ _1"></span>程。<span class="_ _5"></span><span class="ff3"> <span class="_"> </span> </span></div><div class="t m0 x2 h3 ye ff2 fs1 fc1 sc0 ls1 ws0">而在<span class="ff3 ls0">.<span class="_ _1"></span>Net<span class="_ _0"> </span></span>中,<span class="_ _b"></span><span class="ff3 ls0">S<span class="_ _1"></span>y<span class="_ _4"></span>s<span class="_ _1"></span>te<span class="_ _4"></span>m<span class="_ _2"></span>.<span class="_ _1"></span>Net<span class="_ _1"></span>.So<span class="_ _4"></span>c<span class="_ _5"></span>ke<span class="_ _2"></span>ts<span class="_ _2"></span> <span class="_ _c"> </span><span class="ff2">命<span class="_ _1"></span>名空间<span class="_ _1"></span>为需<span class="_ _2"></span>要<span class="_ _1"></span>严密控<span class="_ _1"></span>制网络<span class="_ _5"></span>访问的<span class="_ _1"></span>开发人<span class="_ _5"></span>员提</span></span></div><div class="t m0 x2 h3 yf ff2 fs1 fc1 sc0 ls1 ws0">供了<span class="ff3 ls0"> <span class="_ _c"> </span>W<span class="_ _2"></span>i<span class="_ _1"></span>n<span class="_ _4"></span>d<span class="_ _1"></span>ows<span class="_ _2"></span> So<span class="_ _4"></span>c<span class="_ _d"></span>k<span class="_ _4"></span>ets (W<span class="_ _1"></span>in<span class="_ _4"></span>s<span class="_ _5"></span>oc<span class="_ _2"></span>k<span class="_ _4"></span>)<span class="_ _1"></span> <span class="_ _0"> </span><span class="ff2">接口<span class="_ _1"></span>的托管<span class="_ _1"></span>实现<span class="_ _1"></span>。<span class="_ _a"></span><span class="ff3">S<span class="_ _1"></span>y<span class="_ _4"></span>s<span class="_ _2"></span>tem.<span class="_ _1"></span>N<span class="_ _2"></span>et<span class="_ _2"></span> <span class="_ _c"> </span><span class="ff2">命名<span class="_ _1"></span>空间中<span class="_ _5"></span>的所</span></span></span></span></div><div class="t m0 x2 h3 y10 ff2 fs1 fc1 sc0 ls0 ws0">有其他网<span class="_ _1"></span>络访问<span class="_ _5"></span>类都建<span class="_ _1"></span>立在该<span class="_ _1"></span>套接<span class="_ _2"></span>字<span class="_ _8"> </span><span class="ff3">Sock<span class="_ _1"></span>e<span class="_ _4"></span>t<span class="_"> </span><span class="ff2">实<span class="_ _1"></span>现之上<span class="_ _1"></span>,<span class="_ _e"></span>如<span class="_ _0"> </span><span class="ff3">TCPC<span class="_ _5"></span>li<span class="_ _2"></span>en<span class="_ _2"></span>t</span>、<span class="_ _e"></span><span class="ff3">T<span class="_ _4"></span>C<span class="_ _2"></span>P<span class="_ _1"></span>Li<span class="_ _4"></span>s<span class="_ _2"></span>t<span class="_ _1"></span>en<span class="_ _2"></span>er<span class="_ _1"></span> </span></span></span></div><div class="t m0 x2 h3 y11 ff2 fs1 fc1 sc0 ls0 ws0">和<span class="ff3"> <span class="_ _0"> </span>U<span class="_ _4"></span>DPC<span class="_ _5"></span>l<span class="_ _3"></span>i<span class="_ _2"></span>en<span class="_ _2"></span>t <span class="_"> </span><span class="ff2">类封装<span class="_ _1"></span>有关创<span class="_ _1"></span>建到<span class="_ _5"></span></span> <span class="_ _0"> </span>I<span class="_ _9"></span>n<span class="_ _2"></span>ter<span class="_ _1"></span>n<span class="_ _4"></span>e<span class="_ _1"></span>t <span class="_ _0"> </span><span class="ff2">的</span> <span class="_"> </span>T<span class="_ _4"></span>C<span class="_ _2"></span>P<span class="_ _1"></span> <span class="_ _c"> </span><span class="ff2">和<span class="_ _1"></span></span> <span class="_"> </span>U<span class="_ _9"></span>DP<span class="_ _5"></span> <span class="_ _c"> </span><span class="ff2">连接<span class="_ _1"></span>的详<span class="_ _1"></span>细信息<span class="_ _1"></span>;</span></span></div><div class="t m0 x2 h3 y12 ff3 fs1 fc1 sc0 ls0 ws0">Net<span class="_ _3"></span>wo<span class="_ _1"></span>rk<span class="_ _4"></span>S<span class="_ _1"></span>tre<span class="_ _2"></span>am<span class="_ _8"> </span><span class="ff2">类则<span class="_ _1"></span>提供用<span class="_ _1"></span>于网络<span class="_ _5"></span>访问的<span class="_ _1"></span>基础数<span class="_ _1"></span>据流等<span class="_ _5"></span>,常见<span class="_ _1"></span>的许多<span class="_ _8"> </span></span>Int<span class="_ _2"></span>ern<span class="_ _2"></span>et<span class="_ _0"> </span><span class="ff2 ls3">服务</span></div><div class="t m0 x2 h3 y13 ff2 fs1 fc1 sc0 ls0 ws0">都可以见<span class="_ _1"></span>到<span class="_ _f"> </span><span class="ff3">So<span class="_ _3"></span>c<span class="_ _5"></span>k<span class="_ _3"></span>e<span class="_ _3"></span>t<span class="_ _8"> </span><span class="ff2">的踪影<span class="_ _1"></span>,<span class="_ _4"></span>如<span class="_ _0"> </span><span class="ff3">T<span class="_ _1"></span>el<span class="_ _2"></span>ne<span class="_ _4"></span>t<span class="_ _1"></span><span class="ff2">、</span>H<span class="_ _4"></span>tt<span class="_ _1"></span>p<span class="_ _4"></span><span class="ff2">、<span class="_ _4"></span><span class="ff3">Em<span class="_ _5"></span>ai<span class="_ _2"></span>l<span class="ff2">、<span class="_ _9"></span><span class="ff3">Ec<span class="_ _2"></span>h<span class="_ _1"></span>o<span class="_ _0"> </span><span class="ff2">等,这些服<span class="_ _1"></span>务尽管<span class="_ _1"></span>通讯</span></span></span></span></span></span></span></span></div><div class="t m0 x2 h3 y14 ff2 fs1 fc1 sc0 ls1 ws0">协议<span class="_ _0"> </span><span class="ff3 ls0">Pro<span class="_ _1"></span>to<span class="_ _4"></span>c<span class="_ _2"></span>o<span class="_ _1"></span>l<span class="_ _0"> </span><span class="ff2">的定<span class="_ _1"></span>义不同<span class="_ _5"></span>,但是<span class="_ _1"></span>其基础<span class="_ _5"></span>的传输<span class="_ _1"></span>都是采<span class="_ _1"></span>用的<span class="_ _f"> </span></span>S<span class="_ _1"></span>ock<span class="_ _1"></span>e<span class="_ _4"></span>t<span class="ff2">。<span class="_ _1"></span></span> <span class="_"> </span> </span></div><div class="t m0 x2 h3 y15 ff2 fs1 fc1 sc0 ls1 ws0">其实,<span class="ff3 ls0">S<span class="_ _1"></span>ock<span class="_ _2"></span>et<span class="_"> </span><span class="ff2">可以<span class="_ _1"></span>象流<span class="_ _0"> </span></span>St<span class="_ _1"></span>re<span class="_ _1"></span>a<span class="_ _4"></span>m<span class="_ _8"> </span><span class="ff2">一样被<span class="_ _1"></span>视为一<span class="_ _5"></span>个数据<span class="_ _1"></span>通道,<span class="_ _1"></span>这个通<span class="_ _5"></span>道架设<span class="_ _1"></span>在应用<span class="_ _5"></span>程</span></span></div><div class="t m0 x2 h4 y16 ff2 fs1 fc1 sc0 ls0 ws0">序端(客<span class="_ _1"></span>户端)<span class="_ _5"></span>和远程<span class="_ _1"></span>服务器<span class="_ _1"></span>端之<span class="_ _2"></span>间<span class="_ _1"></span>,而后<span class="_ _1"></span>,数据<span class="_ _5"></span>的读<span class="_ _1"></span>取(接<span class="_ _5"></span>收)和<span class="_ _1"></span>写入(<span class="_ _1"></span>发送)</div><div class="t m0 x2 h3 y17 ff2 fs1 fc1 sc0 ls0 ws0">均针对这<span class="_ _1"></span>个通道<span class="_ _5"></span>来进行<span class="_ _1"></span>。<span class="ff3"> <span class="_"> </span> </span></div><div class="t m0 x2 h3 y18 ff2 fs1 fc1 sc0 ls0 ws0">可见,在<span class="_ _1"></span>应用程<span class="_ _5"></span>序端或<span class="_ _1"></span>者服务<span class="_ _1"></span>器端<span class="_ _2"></span>创<span class="_ _1"></span>建了<span class="_ _f"> </span><span class="ff3">S<span class="_ _1"></span>o<span class="_ _4"></span>c<span class="_ _1"></span>k<span class="_ _2"></span>et<span class="_ _0"> </span><span class="ff2">对象<span class="_ _1"></span>之后,<span class="_ _1"></span>就可以<span class="_ _5"></span>使用</span></span></div><div class="t m0 x2 h3 y19 ff3 fs1 fc1 sc0 ls0 ws0">Se<span class="_ _3"></span>n<span class="_ _2"></span>d/S<span class="_ _1"></span>e<span class="_ _4"></span>n<span class="_ _1"></span>tT<span class="_ _3"></span>o<span class="_ _8"> </span><span class="ff2">方法将<span class="_ _1"></span>数据发<span class="_ _1"></span>送到连<span class="_ _5"></span>接的<span class="_ _0"> </span></span>S<span class="_ _5"></span>o<span class="_ _3"></span>c<span class="_ _2"></span>k<span class="_ _2"></span>et,<span class="_ _3"></span><span class="ff2">或<span class="_ _1"></span>者使用<span class="_ _f"> </span><span class="ff3">R<span class="_ _1"></span>ec<span class="_ _2"></span>e<span class="_ _2"></span>iv<span class="_ _2"></span>e/<span class="_ _4"></span>R<span class="_ _5"></span>ecei<span class="_ _2"></span>ve<span class="_ _2"></span>Fro<span class="_ _4"></span>m<span class="_ _8"> </span><span class="ff2">方</span></span></span></div><div class="t m0 x2 h3 y1a ff2 fs1 fc1 sc0 ls0 ws0">法接收来<span class="_ _1"></span>自连接<span class="_ _f"> </span><span class="ff3">S<span class="_ _1"></span>ock<span class="_ _1"></span>e<span class="_ _4"></span>t<span class="_"> </span><span class="ff2">的<span class="_ _1"></span>数据;<span class="_ _1"></span></span> <span class="_"> </span> </span></div><div class="t m0 x2 h3 y1b ff2 fs1 fc1 sc0 ls1 ws0">针对<span class="_ _0"> </span><span class="ff3 ls0">Soc<span class="_ _5"></span>k<span class="_ _4"></span>et<span class="_ _8"> </span><span class="ff2 ls1">编程,</span>.<span class="_ _1"></span>N<span class="_ _9"></span>E<span class="_ _1"></span>T <span class="_"> </span><span class="ff2 ls1">框架的<span class="_ _1"></span></span> <span class="_ _c"> </span>S<span class="_ _2"></span>oc<span class="_ _2"></span>k<span class="_ _2"></span>et<span class="_ _2"></span> <span class="_ _c"> </span><span class="ff2 ls1">类是<span class="_ _1"></span></span> <span class="_ _c"> </span>W<span class="_ _1"></span>i<span class="_ _4"></span>ns<span class="_ _5"></span>ock<span class="_ _1"></span>3<span class="_ _4"></span>2 <span class="_ _2"></span>A<span class="_ _4"></span>P<span class="_ _1"></span>I <span class="_"> </span><span class="ff2">提供的<span class="_ _1"></span>套接字<span class="_ _1"></span>服务</span></span></div><div class="t m0 x2 h3 y1c ff2 fs1 fc1 sc0 ls0 ws0">的托管代<span class="_ _1"></span>码版本。<span class="_ _e"></span>其中为<span class="_ _1"></span>实现网<span class="_ _5"></span>络编程<span class="_ _1"></span>提供了<span class="_ _1"></span>大量的<span class="_ _5"></span>方法,<span class="_ _b"></span>大<span class="_ _5"></span>多数情<span class="_ _1"></span>况下,<span class="_ _b"></span><span class="ff3">S<span class="_ _5"></span>o<span class="_ _4"></span>c<span class="_ _1"></span>k<span class="_ _2"></span>et<span class="_ _2"></span> <span class="_ _c"> </span><span class="ff2">类</span></span></div><div class="t m0 x2 h3 y1d ff2 fs1 fc1 sc0 ls0 ws0">方法只是<span class="_ _1"></span>将数据<span class="_ _5"></span>封送到<span class="_ _1"></span>它们的<span class="_ _1"></span>本机<span class="_ _5"></span><span class="ff3"> <span class="_ _c"> </span>W<span class="_ _2"></span>in<span class="_ _2"></span>32<span class="_ _2"></span> <span class="_ _c"> </span></span>副<span class="_ _1"></span>本中并<span class="_ _1"></span>处理任<span class="_ _5"></span>何必要<span class="_ _1"></span>的安全<span class="_ _1"></span>检查。<span class="_ _5"></span>如</div><div class="t m0 x2 h3 y1e ff2 fs1 fc1 sc0 ls1 ws0">果你熟悉<span class="_ _0"> </span><span class="ff3 ls0">W<span class="_ _1"></span>i<span class="_ _1"></span>n<span class="_ _4"></span>s<span class="_ _1"></span>o<span class="_ _4"></span>c<span class="_ _1"></span>k<span class="_ _4"></span> <span class="_ _1"></span>A<span class="ls4">PI<span class="_ _d"></span></span><span class="ff2">函<span class="_ _5"></span>数,那<span class="_ _1"></span>么用<span class="_ _f"> </span></span>S<span class="_ _1"></span>ock<span class="_ _1"></span>e<span class="_ _4"></span>t<span class="_"> </span><span class="ff2">类编<span class="_ _1"></span>写网络<span class="_ _1"></span>程序<span class="_ _2"></span>会<span class="_ _1"></span>非常容<span class="_ _1"></span>易,<span class="_ _2"></span>当<span class="_ _1"></span>然,</span></span></div><div class="t m0 x2 h3 y1f ff2 fs1 fc1 sc0 ls0 ws0">如果你不<span class="_ _1"></span>曾接触<span class="_ _5"></span>过,<span class="_ _a"></span>也不<span class="_ _1"></span>会太<span class="_ _1"></span>困难,<span class="_ _a"></span>跟<span class="_ _1"></span>随下面<span class="_ _1"></span>的解说,<span class="_ _4"></span>你会发<span class="_ _1"></span>觉使用<span class="_ _0"> </span><span class="ff3">S<span class="_ _5"></span>o<span class="_ _4"></span>c<span class="_ _1"></span>k<span class="_ _2"></span>e<span class="_ _3"></span>t<span class="_"> </span><span class="ff2">类<span class="_ _1"></span>开发</span></span></div><div class="t m0 x2 h3 y20 ff3 fs1 fc1 sc0 ls0 ws0">win<span class="_ _2"></span>do<span class="_ _4"></span>ws<span class="_ _d"></span> <span class="_ _c"> </span><span class="ff2">网络<span class="_ _1"></span>应用程<span class="_ _1"></span>序原来<span class="_ _5"></span>有规可<span class="_ _1"></span>寻,它<span class="_ _5"></span>们在大<span class="_ _1"></span>多数情<span class="_ _1"></span>况下<span class="_ _2"></span>遵<span class="_ _1"></span>循大致<span class="_ _1"></span>相同<span class="_ _5"></span>的<span class="_ _10"> </span>步<span class="_ _1"></span>骤<span class="_ _10"> </span>。<span class="_ _b"></span><span class="ff3"> <span class="_"> </span> </span></span></div><div class="t m0 x2 h3 y21 ff2 fs1 fc1 sc0 ls0 ws0">在使用之<span class="_ _1"></span>前,你<span class="_ _5"></span>需要首<span class="_ _1"></span>先创建<span class="_ _f"> </span><span class="ff3">S<span class="_ _1"></span>o<span class="_ _3"></span>c<span class="_ _2"></span>k<span class="_ _2"></span>et<span class="_"> </span><span class="ff2">对<span class="_ _1"></span>象的实<span class="_ _1"></span>例,这<span class="_ _1"></span>可以通<span class="_ _1"></span>过<span class="_ _f"> </span></span>Soc<span class="_ _5"></span>k<span class="_ _4"></span>et<span class="_ _8"> </span><span class="ff2">类的构<span class="_ _1"></span>造方</span></span></div><div class="t m0 x2 h3 y22 ff2 fs1 fc1 sc0 ls0 ws0">法来实现<span class="_ _1"></span>:<span class="ff3"> <span class="_"> </span> </span></div><div class="t m0 x2 h3 y23 ff3 fs1 fc1 sc0 ls0 ws0">p<span class="_ _3"></span>u<span class="_ _2"></span>bl<span class="_ _4"></span>ic<span class="_ _2"></span> <span class="_ _1"></span>Sock<span class="_ _2"></span>et(<span class="_ _1"></span>Ad<span class="_ _2"></span>dre<span class="_ _4"></span>s<span class="_ _2"></span>s<span class="_ _1"></span>F<span class="_ _2"></span>am<span class="_ _2"></span>il<span class="_ _2"></span>y<span class="_ _4"></span> <span class="_ _1"></span>ad<span class="_ _2"></span>dre<span class="_ _4"></span>s<span class="_ _2"></span>s<span class="_ _1"></span>F<span class="_ _1"></span>a<span class="_ _4"></span>m<span class="_ _2"></span>il<span class="_ _2"></span>y,<span class="_ _3"></span>S<span class="_ _1"></span>ock<span class="_ _2"></span>etT<span class="_ _2"></span>y<span class="_ _1"></span>p<span class="_ _4"></span>e </div><div class="t m0 x2 h3 y24 ff3 fs1 fc1 sc0 ls0 ws0">s<span class="_ _2"></span>ocke<span class="_ _4"></span>t<span class="_ _1"></span>Ty<span class="_ _2"></span>p<span class="_ _3"></span>e<span class="_ _2"></span>,Pr<span class="_ _1"></span>oto<span class="_ _4"></span>c<span class="_ _5"></span>ol<span class="_ _4"></span>T<span class="_ _1"></span>y<span class="_ _2"></span>pe<span class="_ _3"></span> <span class="_ _1"></span>p<span class="_ _4"></span>r<span class="_ _5"></span>o<span class="_ _4"></span>toc<span class="_ _5"></span>o<span class="_ _4"></span>lT<span class="_ _1"></span>y<span class="_ _4"></span>p<span class="_ _1"></span>e<span class="_ _4"></span>);<span class="_ _1"></span> <span class="_ _8"> </span> </div></div><div class="pi" data-data='{"ctm":[1.611161,0.000000,0.000000,1.611161,0.000000,0.000000]}'></div></div>
</body>
</html>