<div class="content-detail markdown-body">
<div class="blogpost-body" style="color:rgb(51,51,51);font-family:Georgia, 'Times New Roman', Times, sans-serif;font-size:14px;">
<p style="line-height:1.8;"> 什么是Socket?<br> 所谓Socket通常也称作"<span style="line-height:1.8;color:rgb(51,102,255);">套接字</span>",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 <br> Socket用于在两个基于TCP/IP协议的应用程序之间相互通信。最早出现在UNIX系统中,是UNIX系统主要的信息传递方式。在WINDOWS系统中,Socket称为WINSOCK。 <br> 两个基本概念:<span style="line-height:1.8;color:rgb(51,102,255);">客户方</span>和<span style="line-height:1.8;color:rgb(51,102,255);">服务方</span>。当两个应用之间需要采用Socket通信时,首先需要在两个应用之间(可能位于同一台机器,也可能位于不同的机器)建立Socket连接,发起呼叫连接请求的一方为客户方,接受呼叫连接请求的一方成为服务方。客户方和服务方是相对的,同一个应用可以是客户方,也可以是服务方。 <br> 在客户方呼叫连接请求之前,它必须知道服务方在哪里。所以需要知道服务方所在机器的IP地址或机器名称,如果客户方和服务方事前有一个约定就好了,这个约定就是PORT(端口号)。也就是说,客户方可以通过服务方所在机器的IP地址或机器名称和端口号唯一的确定方式来呼叫服务方。在客户方呼叫之前,服务方必须处于侦听状态,侦听是否有客户要求建立连接。一旦接到连接请求,服务方可以根据情况建立或拒绝连接。连接方式有两种,同步方式(Blocking)和(noBlocking). <br> 客户方发送的消息可以是文本,也可以是二进制信息流。当客户方的消息到达服务方端口时,会自动触发一个事件(event),服务方只要接管该事件,就可以接受来自客户方的消息了。</p>
<p style="line-height:1.8;"> 前几天编写一个Vod下载器,用到了此方面的知识,顺便就把相关的资料整理一下,可以加强学习,以备以后,同时也方便大家。</p>
<p style="line-height:1.8;"> 文章<span style="line-height:1.8;color:rgb(255,0,0);">下载</span>地址:<a href="http://files.cnblogs.com/xia520pi/C_Sharp_Socket.rar" style="text-decoration:none;color:rgb(61,129,238);border-bottom-width:1px;border-bottom-style:dashed;">http://files.cnblogs.com/xia520pi/C_Sharp_Socket.rar</a></p>
<p style="line-height:1.8;"> 文章的目录:</p>
<p style="line-height:1.8;"><span style="line-height:1.8;font-size:12pt;"><span class="MsoHyperlink" style="line-height:1.8;"><span style="line-height:1.8;"><span style="line-height:1.8;color:rgb(0,0,255);"><span style="line-height:1.8;font-family:'Times New Roman';">1</span><span style="line-height:1.8;font-family:'宋体';"><span style="line-height:1.8;">、</span></span><span style="line-height:1.8;font-family:'Times New Roman';">C#</span><span style="line-height:1.8;font-family:'宋体';"><span style="line-height:1.8;">编写简单的聊天程序</span></span></span><span style="line-height:1.8;font-family:'Times New Roman';"></span></span></span><span style="line-height:1.8;"></span></span></p>
<p></p>
<p style="line-height:1.8;"><span class="MsoHyperlink" style="line-height:1.8;"><span style="line-height:1.8;font-size:12pt;"><span style="line-height:1.8;color:rgb(0,0,255);"><span style="line-height:1.8;font-family:'Times New Roman';">1.1</span><span style="line-height:1.8;font-family:'宋体';"><span style="line-height:1.8;">、版权声明</span></span></span><span style="line-height:1.8;font-family:'Times New Roman';"></span></span></span><span style="line-height:1.8;font-size:12pt;"></span></p>
<p></p>
<p style="line-height:1.8;"><span class="MsoHyperlink" style="line-height:1.8;"><span style="line-height:1.8;font-size:12pt;"><span style="line-height:1.8;color:rgb(0,0,255);"><span style="line-height:1.8;font-family:'Times New Roman';">1.2</span><span style="line-height:1.8;font-family:'宋体';"><span style="line-height:1.8;">、内容详情</span></span></span><span style="line-height:1.8;font-family:'Times New Roman';"></span></span></span><span style="line-height:1.8;font-size:12pt;"></span></p>
<p></p>
<p style="line-height:1.8;"><span class="MsoHyperlink" style="line-height:1.8;"><span style="line-height:1.8;font-size:12pt;"><span style="line-height:1.8;color:rgb(0,0,255);"><span style="line-height:1.8;font-family:'Times New Roman';">2</span><span style="line-height:1.8;font-family:'宋体';"><span style="line-height:1.8;">、</span></span><span style="line-height:1.8;font-family:'Times New Roman';">C#</span><span style="line-height:1.8;font-family:'宋体';"><span style="line-height:1.8;">网络编程</span></span></span><span style="line-height:1.8;font-family:'Times New Roman';"></span></span></span><span style="line-height:1.8;font-size:12pt;"></span></p>
<p> |
|