轻松学VisualC之网络编程_第1页
轻松学VisualC之网络编程_第2页
轻松学VisualC之网络编程_第3页
轻松学VisualC之网络编程_第4页
轻松学VisualC之网络编程_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第15章网络编程随着Internet的普及,人们的生活已经越来越离不开网络。所以,编写网络程序成了每个开发人员必不可少的一项基本技能。VC++为编写网络程序提供了多种支持,使我们能更快更方便的的开发出满足需要网络应用程序。通过本章学习,读者也可以编写出即时的聊天程序。15.1网络编程基础在使用VC++实现网络编程之前,我们有必要学习一下计算机网络的概念、一些常见的术语、还有计算机网络的协议等网络编程的基础知识。15.1.1计算机网络计算机网络,即相互连接的独立自主的计算机集合,最简单的网络形式可以只由两台计算机组成,如下图所示。15.1.1计算机网络在Internet上,为了保证两台主机进行正常的通信,它们需要遵循约定的规则。我们把这种规则称之为协议。如果A主机和B主机采用同样的协议,它们之间就可以进行通信了。但是主机之间的通信往往不是单一的,一台计算机上可能有多个程序要完成网络的通信。例如,我们一边挂着QQ,一边还要看电影,一边还在用迅雷下载东西。那么当信息发送到某个IP地址的主机时,应该哪个程序来接收呢?15.1.1计算机网络为了标识计算机上运行的每个网络应用程序,我们提出了端口的概念;每个网络应用程序都被分配了一个端口号。在发送数据时,除了指定接收数据主机的IP地址外,还要指定端口号。这样,在指定IP地址的计算机上,将会由与指定端口号相对应的网络应用程序来接收数据。就好像我们打电话,IP地址就像是一个公司的总机号码,端口号就相当于分机号码。在打电话时,拨通总机后,还需要转到分机上,才能找到需要与你通话的人。15.1.2网络协议网络协议是网络上所有设备之间通信规则、标准和约定的集合。不同的计算机之间必须使用相同的网络协议才能进行通信。TCP/IP协议是目前在网络中应用得最广泛的协议。TCP/IP是一个关于Internet的标准,并随着的Internet广泛应用而被大众所知,它也成为局域网所使用首选的协议。TCP/IP是一种分层协议,它共被分为个4层次。通过使用该协议,可以高效和可靠地实现各地的计算机相互连接。TCP/IP协议中的核心协议有TCP(传输控制协议)、UDP(用户数据报协议)和IP(因特网协议)。15.1.2网络协议1.TCP协议TCP(TransmissionControlProtocol/InternetProtocol,传输控制协议)提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP协议可以进行IP数据包的分割和组装,但是通过IP协议并不能清楚地了解到数据包是否顺利地发送给目标计算机。而使用TCP协议就不同了,在该协议传输模式中在将数据包成功发送给目标计算机后,TCP会要求发送一个确认;如果在某个时限内没有收到确认,那么TCP将重新发送数据包。另外,在传输的过程中,如果接收到无序、丢失以及被破坏的数据包,TCP还可以负责恢复。15.1.2网络协议2.UDP协议UDP协议(UserDatagramProtocol,用户数据报协议)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。15.1.2网络协议3.IP协议IP协议(InternetProtocol,网络之间互连的协议)是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。IP地址可以称为互联网地址或Internet地址,是用来惟一标识互联网上计算机的逻辑地址。每台连网计算机都依靠IP地址来标识自己,这就很类似于我们的电话号码样的。通过电话号码来找到相应的具体的电话。全世界的电话号码都是惟一的,IP地址也是一样。15.1.3OSI参考模型在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构,它们之间互不兼容。为此,国际标准化组织(ISO)建立了一个专门的机构来研究一种标准的网络体系结构,来实现对网络的连接。这个标准即开放系统互联体系结构(OpenSystemsInterconnection,简称OSI)。它定义了连接不同类型计算机的标准框架。15.1.3OSI参考模型OSI参考模型分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如下图所示。15.1.4TCP/IP参考模型TCP/IP协议(TransferControlProtocol/InternetProtocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。TCP/IP参考模型分为四个层次:应用层、传输层、网络层和数据链路层。在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为链路层。15.1.4TCP/IP参考模型TCP/IP与OSI参考模型的对应关系如下图所示。15.1.5网络编程相关概念1.端口按照OSI七层参考模型,传输层提供进程通信的能力。为了表示通信实体中进行通信的进程,TCP/IP协议提出了协议端口(ProtocolPort)的概念,简称端口。端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口建立连接(Binding)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都要通过该端口输出。端口使用一个16位的数字表示,所以它的范围为0~65535,1024以下的端口号保留给预定义的服务。例如,http使用的80端口。所以我们在编写网络应用程序时,要为程序制定1024以上的端口号。15.1.5网络编程相关概念2.套接字(Socket)为了能够方便的开发网络应用软件,由美国伯克利大学在UNIX上推出了一种应用程序访问通信协议的操作系统调用套接字(Socket)。Socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用程序。随着UNIX的应用推广,套接字在编写网络软件中得到了极大的普及。后来套接字又被引进了Windows等操作系统,称为开发网络应用程序非常有效快捷的工具。。15包.1火.5网络慨编程络相关响概念3.网络轿字节尼顺序字节拖顺序合是指碧占内矮存多抬于一将个字洋节的端数据愿在内内存中吧的存吐放顺蛮序。任通常鞭有两帆种顺室序,茫一种窜是低职字节裹数据漫存放戚在内棵存低否地址而处,猪高字炒节数馋据存倒放在下内存享高地秒址处嚼;另局一种议是高尊字节渗数据拐存放检在低创地址喇处,脂低字壮节数桂据存滤放在堪高地蕉址处合。由于灶不同守的计柴算机冬存放龄多字前节值彼的顺术序不骡同,蜻为保纷证数装据的小正确慈性,逼在网布络协但议中品须指驰定网转络字漆节顺旷序。TC告P/稠IP协议仪使用16位整城数和32位整袄数的猎高位竿先存劳(即爪起始窝地址济存放墙高位架字节彩)格桃式,碰它们歇均被危含在绸协议臣头文杯件中捕。在滔网络索中不论同主困机进等行通忌信时犹,要隆同一妻采用击网络矩字节情顺序川。15名.1椅.5网络屿编程主相关阿概念4.半相秘关与灾全相瓣关在网威络通漆信中耀,可回以使筝用一微个三辈元组竭(协抖议、馅地址贤、端费口号长)来狸表示蠢通信徐双方械的一潮端。问这样肆的一段个三完元组科叫做宫一个搬半相它关(Ha标lf启-a崖ss斧oc旨ia番ti杨on)。胡一个摔完整冷的通孕信,帆需要欧由两灭个进泉程完府成。歇可以首使用虏一个社五元寨组(产协议冬、本拳地地墙址、贼本地灵端口灰号、恩远地谊地址债、远世地端浸口号旁)来杂表示室通信溉的双晌方。藏这样吐一个辟五元笛组叫剃做一冲个全衣相关绞。两个栽通信够实体舟要进剂行通允信,剑必须感使用沙同一怨种高页层协丙议。杯例如异,通罗信双这方必隆须同挽时使孕用TC贩P或UD崖P协议蔑。两辜个协验议相斩同的湿半相杜关才副能组岔合成慰一个茶合适涛的全细相关毅。15友.1越.5网络浓编程庸相关咽概念5.客户姐机/服务毯器模骑式在TC随P/名IP网络绿中,稿通信贪的两幸个进圆程之蛮间通课常使染用客词户机/服务荷器模扎式(Cl来ie粮nt蜻/S林er熟ve截r),菠即客羽户端细向服闲务器莫发送粒请求枕,服奇务器瞒收到卵请求露后提域供相卸应的制服务概。客户弃机/服务键器模稿式的说建立均主要府基于族两点名。首茎先是痒建立眉网络肿的起暗因是善网络朽中软陪硬件恼资源挠、运五算能浊力和袜信息多不均榴等,株需要坑共享携。从停而造底成了谦拥有窗众多撞资源凡的主垒机提变供服助务,猫资源雀较少体的客诊户请肆求服猜务这窝一非燃对等犁关系猪。其钓次是矛网间痛进程区通信碧完全茧异步捎,互秘相通霉信的斩进程茅间既熟不存欣在父择子关帜系,陷也不卖存在其共享怎缓冲棚区。宣因此装需要咬一种哥机制底为希薄望通冶信的吐进程负间建喂立联禽系,访为二买者的填数据塌交换率提供腿同步秆。这瘦就是备基于质客户底机/服务紧器模于式的TC商P/睁IP。15衔.1亭.5网络蝇编程坦相关絮概念客户掉机/服务萍器模绸式在咸操作翁过程项中采乖用的但是主虽动请学求方悟式。篮首先闷服务奸器方揉要先辅启动吸,并池等待苍连接堵请求牙,其介过程林如下旬:(1)打笛开一吸通信观通道贞并告劝知本盒地主蓄机,凑它愿却意在胡某一进个公航认地费址上致接收勾客户开请求因;(2)等丧待客垫户请埋求;(3)接静收到身服务念请求婆,处自理该识请求岩,并新发送恶应答辣信号米;(4)返鹊回第姿二步摘,等已待其制他客拨户请雅求;(5)关拍闭服炎务器暮。15制.1脑.5网络拖编程屈相关碍概念客户器方需厨要主剖动连逢接到麦服务集器,谢具体抄步骤法如下道:(1)打术开一印通信止通道柔,并详连接畏服务运器指砖定的像端口构;(2)向腹服务寨器发猜送服访务请析求报掘文;(3)等垦待并烫接收专应答伐;(4)请扮求结禁束后装关闭捷通信取通道体。15滩.1武.6VC贿++对网淋络编朵程的传支持微软尘提供旷了在Wi秤nd残ow梳s下进毫行网伏络编坚程的云结构Wi散nd细ow压s援So眉ck穴et列A伐PI。使句用VC拌++除了涌能利开用Wi仿nd伐ow猎s育So盗ck换et送A挤PI进行法编程陈外,MF渠C还提槽供了测专门情的类以让开起发者塌能更旱方便驾的进膊行网坛络应廉用程忍序的朵开发逗。下薄面我著们来钉介绍VC陡++对网当络编农程的煮支持芹有哪劣些。15请.1练.6VC雅++对网属络编帽程的搜支持1.扒Wi乱nd启ow优s木So率ck泄et夸A倍PIWi异nd泼ow效s环境里下进衫行网脊络程鞠序设姓计的吹最基挠本方谅法是肉应用Wi冬nd淡ow肤s斧So仆ck厅et位s实现盆进程留间的犹通信们。为蒜此微斜软提消供了茶大量铸基于Wi容nd慕ow章s耍So肃ck居et裤s的通相信AP检I,如Wi杏nS车oc稼k住AP挡I、Wi协nI悲ne欲t侄AP淡I和IS勒AP券I,并污一直武致力叛于开震发更热快、臣更容城易的陈通信AP熄I。在Vi招su冬al颜C萄++中,臂完全惕可以猾利用卸这些AP偏I函数店进行侦网络孩程序评的开喘发,载而不弃比附袄加任至何其闲他内互容。15必.1碰.6VC解++对网厨络编蒜程的刷支持2.预MF伏C哨Wi极nS虑oc骂k类虽然Wi插nd值ow促s宝So嚷ck材et偷A叼PI提供且了强层大的扔网络梯编程锄接口羽,但蝇是只村用它牙们来苏进行登编程锹是一路件非缩慧常烦脂琐的这事情敲。为起了方丽便程陷序员脊的开脑发,MF图C对Wi泛nd驶ow泥s柴So房诚ck徒et税A财PI进行浴了封帮装。15己.1闲.6VC亭++对网睡络编煤程的油支持3.敲Wi输nI悟ne秆t支持一个In悟te跨rn限et客户姑端程歌序的登目的巷是通寇过像HT骨TP、FT政P等In暮te柏rn刃et协议典来存筛取服昆务器匠的信膛息。Wi现nI域ne慨t是指创由Mi邮cr削os瞒of俭t提供盛的In鞋te泥rn砖et函数芳接口仆,这乎些函左数由Wi鲁nI吵ne属t.籍dl括l动态圾库提才供,萌程序盼员利负用这探些函帐数能鸡方便哪地使脂用HT才TP、FT晒P和go箩ph嘱er访问In克te店rn固et,甚出至还埋能进待行Fi阵ng债er查询召和Wh桶oi仓s查询寄。为了号更方遮便的防开发In才te唐rn罗et应用借程序亭,MF扩C将Wi平nI辱ne缩慧t函数摇封装宵在一拔个类域库中龙。在搂编写Wi士nI休ne以t客户英端应用用程从序时民,既附可以咽直接疮使用Wi淋n3孔2函数陷,也搂可以谋使用Wi庆nI淡ne款t类库除。MF揭C提供事了13个Wi腰nI举ne瓶t类,纠它们母实现妈了一旦系列In洗te厕rn拥et访问过功能屿。15雷.1溜.6VC曲++对网冒络编饲程的伞支持4.脑MA俘PI支持MA落PI是Me胡ss向ag据in乐g环Ap并pl恐ic蚀at丑io铃n灯Pr补og票rm悬mi普ng粗I咱nt塞er毙fa妨ce的缩滔写。MA好PI提供很了一烈组函奋数,咐能够件支持兼邮件捕或邮余件撰箭写应银用程贤序的散开发催。MF咐C并没辩有封叛装整透个MA孤PI函数仪集,暴但是漂可以狠在MF饼C应用根程序再中直煎接使砖用MA启PI函数鹿。在MF姑C的CD锄oc球um踩en汤t类中劣提供灵了On公Fi屯le捉Se智nd坏Ma另il和On向Up页da蔽te随Fi梯le旗Se窜nd耳Ma悦il函数谷支持渠邮件奖的发慕送。15痰.1荣.6VC性++对网慌络编烤程的门支持5.均IS昏AP沸I支持IS子AP叨I是In露te雄rn惕et角S领er霜ve皂r掀AP掌I的简逝写,痰它提葛供了羊一种顿简单使有效搜的方税法来诸扩展山与IS鹊AP鸟I兼容庄的We择b服务劝器。IS羽AP肥I服务筐器扩睛展是组可以赔被HT搂TP服务县器加餐载和肌调用份的DL支L。In荣te鱼rn秧et服务虚器扩肚展也办称为In棚te摆rn临et服务流器应灾用程校序(IS叶A),疼用于弯增强芽符合In练te马rn锁et服务将器AP朵I(IS位AP材I)的列服务勾器功爱能。IS激A通过镇浏览坏器应嚼用程怨序调驱用,颗并且卧将相辛似的盒功能河提供阿给通因用网免关接再口应德用程妙序。15息.2淋Wi眯nS头oc础k踪蝶AP烈I编程Wi天nS施oc乎k后AP败I是微腐软提门供的倚网络疯编程深接口薯。VC眼++对网脏络编青程的展支持雾有so养ck叙et支持话,Wi很nI估ne源t支持晋,MA木PI和IS触AP丽I支持衰等。厉其中锈,Wi堤nS氧oc耀k张AP语I是TC搂P/马IP网络谢环境获里,肢也是In脾te赌rn投et上进死行开短发最旅为通花用的AP羞I。15蛙.2证.1绵Wi顾nS唤oc狐k捉AP摇I常用泰函数1.槐WS每AS聪ta亚rt裕up函数WS患AS举ta朽rt医up函数房诚主要至实现寸加载腾套接商字库硬和套冈接字滩库版否本协芳商的章功能湿,也匀就是飘确定逮将使虑用so再ck解et版本鞭。该锐函数尽的原事型声厅明如匹下所很示。15坦.2筋.1避Wi者nS个oc浇k仇AP绝I常用摘函数WS粒AD敌AT右A结构津的定叔义如鞭下所赌示:15饰.2者.1润Wi归nS画oc仪k抵AP秋I常用简函数2.注so课ck寻et函数在完趴成对递套接鸽字库冲的加祸载之危后,久就可剑以调山用so此ck惑et函数配来创熊建套级接字沾了。暴该函载数的痕原型否声明悟如下探所示捧。15舌.2汪.1竞Wi惯nS会oc扔k严AP菊I常用梨函数3.供bi妄nd函数在创朝建了寸套接害字后臣,我婶们通呢过bi斜nd纽奉()函数级将该抽套接斗字绑它定到像本地顶的某抓个地梦址及第端口满上。烧该函燥数的挨原型替声明永如下堤所示饰。15莫.2烛.1符Wi蔬nS役oc肠k桂AP吃I常用赶函数so距ck础ad盼dr结构云的定舰义如性下所汽示:15谊.2角.1恋Wi滴nS蚂oc底k诞AP熔I常用暴函数由于善实际砖要求阔的只派是内伶存区性,所低以对察于不济同的返协议效家族护,用百不同栗的结阔构来橡替代so公ck级ad辣dr。除摸了sa粱_f堡am圣il由y外,so评ck乔ad惯dr是按堪网络递字节必顺序伙表示亲的。僵在基籍于TC愉P/信IP的so睡ck债et中,碗可以栋用so邮ck偶ad汇dr馅_i走n结构心来表赚示,局以方星便填泄写地掠址信负息。so招ck奇ad诞dr尘_i炊n的结姿构定匹义如泳下所训示。15巾.2盟.1考Wi比nS遥oc即k斯AP弓I常用肚函数4.搂in盾et埋_a翠dd蔬r函数魔和in壮et竟_n巴to僵a函数in灵et符_a踪蝶dd强r(肥)函数漠实现抬将字湿符型IP地址驳转换滤为In坦te绢rn傍et地址雪值。姜其函稼数原要型声植明如登下所滨示。15缴.2霸.1峡Wi放nS冤oc成k检AP李I常用亡函数in盲et顺_n狸to孩a函数协完成喘相反葛的转焰换,礼它接持受一谨个in捐_a它dd分r结构暑体类多型的导参数般并返棋回一畅个以绍点分葛十进悄制格苹式表蝇示的IP地址芹字符鸽串。妹该函喇数的旷原型贸声明堂如下竹所示选:15料.2脏.1炕Wi勺nS戚oc性k唱AP超I常用画函数5.旗li认st敬en函数当服浇务器窗端的So伶ck丽et对象饥绑定坑之后本,必梳须建太立一击个监膏听的舅队列耳来接延收客颂户端似的连伐接请毅求。li梨st野en垦()函数球的作毁用是兰将指邻定的兔套接线字设格置为亡监听稀模式讯。其尼函数祝原型死声明桌如下恶所示挤。15籍.2醋.1体Wi筛nS订oc痰k哀AP罢I常用山函数6.具ac熟ce跌pt函数当客雕户端朗提出绳连接误请求贝时,罪服务循器端翼通过汪调用ac健ce接pt馅()函数顿接受饿客户卸端的拍连接提请求显。该虫函数锈的原虏型声传明如偿下所具示。15算.2戒.1系Wi荷nS灵oc斩k弱AP建I常用烈函数7.师se衔nd函数搜和se波nd连to函数我们布利用se市nd函数方来发循送数象据,se届nd函数裳通过岸一个戚已建斯立连兰接的碗套接卸字来精完成非数据纵的发落送。摩其函驱数原锅型声启明如细下所弃示。15蓬.2尘.1骂Wi械nS故oc择k毅AP籍I常用影函数如果大我们铜想向壶一个捉特定杰的目平的方间式发座送数禁据,欲可使吉用se昼nd脚to西()函数源。其叮函数码原型处声明史如下酒所示渡。15陵.2扭.1毒Wi能nS凑oc缠k馆AP否I常用去函数8.而re庆cv函数宝和re丢cv快fr挠om函数re绝cv函数撒实现贴从建抖立连慈接或饮绑定落的so段ck壁et中接奖收数镰据,棵该函玩数的商原型菊声明赔如下丛所示重。15盟.2轿.1锻Wi逃nS叛oc治k愚AP策I常用脱函数如果央我们窗要接缠收一袋个数稍据报汤信息这并保域存源倡地址府,可换通过re芳cv螺fr泊om革()函数竖实现映。该却函数链的原朱型声杠明如时下所监示。15文.2菠.1批Wi趣nS萝oc丽k姥AP爬I常用遣函数10民.c匪on视ne落ct函数co寇nn趋et权()函数杆用于萄建立使一个卧连接记到一抄个指翅定的so繁ck堂et。其园函数趴原型馒声明泄如下颂所示厕。15两.2谱.1削Wi怠nS织oc玩k脚AP顾I常用塞函数11煮.h值to摊nl函数店和ht创on相s函数ht良on覆l函数卷实现抄将32为主泥机字云节顺逆序的坝长整时型数刮据转忠换为TC验P/早IP网络利字节并顺序粉数据党。其丛函数显的原影型声剖明如蓄下所抽示。15亲.2依.1你Wi竿nS抽oc绘k龟AP组I常用作函数ht搬on仍s函数鱼实现习将16位主你机字絮节顺杀序的版整型核数据帐转换熔为TC尤P/揪IP网络傅字节喜顺序性数据丈。其喉函数益的原纹型声串明如逆下所揉示。15木.2息.2基于TC忠P套接何字编战程步欧骤TC宋P(传内输控窃制协诱议)妻是一键种面末向连欺接的犹、可玩靠的杜传输孔层协菌议。堪基于TC朋P套接铃字编街程服启务器复端程软序编孔写步李骤如模下:(1)创暖建套译接字嗓(so绞ck轻et)。(2)将砖一个浸套接毒字绑眯定到务一个碌本地创地址胃和端医口上宿(bi珠nd)。(3)将荐套接桂字设蹄为监颤听模蕉式,醋用来限接收忙客户展请求吸(li昏st叶en)。(4)等姑待客饶户请魔求,拨当接傻收到周请求标后接歉受连眯接请羡求,给并返愚回一宣个新品的对朱应于私此次盾连接匪的套晒接字肌(ac萄ce昆pt)。(5)用吃返回帜的套此接字喂和客六户端亏进行露通信嘱(se越nd若/r梅ec需v)。(6)返寻回,眨等待恳另一讽个客践户请川求。(7)关刚闭套壶接字躁。15思.2贿.2基于TC惠P套接眯字编聪程步劳骤基于TC锡P的套亡接字疑编程绍,客膊户端姐程序织编写布步骤搁如下浸:(1)创叹建套夺接字伴(so浮ck缸et)。(2)向撞服务珍器发字送连踢接请饭求(co泡nn畅ec鹊t)。(3)和捆服务阀器端懒进行字通信猜(se绿nd燃/r推ec迫v)。(4)关快闭套挪接字私。15秆.2鼻.3基于TC盐P套接眯字编兔程实杏例下面眨我们涂编写介一个悲基于蛾对话黄框的TC阶P套接竭字程冲序,系使读蝴者对千上面霉讲解岩的知译识有察更深弄刻的千理解隶。首歌先编轮写服初务端踢程序灶,然俩后再损编写迁客户撞端程公序。1.编写去服务傻端程验序2.编写宪客户御端程缺序15纷.2离.4基于UD行P套接迹字编纸程步咳骤UD兔P(用盏户数鼻据报罢协议茫)是遗一种与无连搏接的屋客户/服务蹈器通鞭信协箩议。省它不软能保倍证数枪据报攀会被添对方姻完全醋接收糕,也类不保巡寿证他衡们抵丝式达的站顺序满与发赞出时惧是一洞样的嫂,但疑它的触速度吨要比TC轨P/允IP协议歪快的说多。旦所以省,对宇于某对些不便需要亚保证和数据怒完整杠准确痒的场皂合或历数据瓣量很跨大的镇场合崭,通兼常蚕什蛹UD蚁P通信像。15纱.2环.4基于UD乘P套接小字编博程步既骤对于UD插P套接库字编爬程来版说,铜它的强服务政器端你和客陆户端窃概念忠不太腥强化诱,所绩以我舌们称泼之为净接收按端和涌发送龟端。攻接收惭端程催序的捐编写鞭步骤毙如下捎:(1)创务建套述接字科(so仙ck吗et)。(2)将阔套接感字绑纳定到雕一个投本地犯地址酬和端拘口上描(bi答nd)。(3)等刺待接默收数皆据(re罚vc种fr坐om)。(4)关仔闭套联接字排。15留.2助.5基于UD盖P套接愈字编本程实钢例下面礼,我它们编具写一决个基夏于UD祝P协议自的聊绞天软送件。惜就像QQ客户晃端一穷样,叛实现甲两台叫电脑耕互相验发送枪和接鸟收消扣息的榆功能培。15看.3利用MF失C塑Wi移nS号oc基k类编肯程在实护际的扔应用而中,丸我们蒜已经武几乎萍不在博使用Wi尿nd渣ow洒s冻So冒ck狱et舌A馋PI来编俭写网撇络程扩序了都。因痛为MF哨C为编训程人咬员封落装了CA恋sy蛙nc颗So沿ck辆et和CS复oc卖ke闯t两个尚类,决使我宫们能件够更托方便纷的实尽现网日络通着信。滔本节芝将针耐对这当两个景重要兆的类奔做简倦要的阴介绍丑。15配.3乖.1路MF仁C小Wi哄nS带oc炎k类编掌程概川述直接爷利用Wi扮nd狡ow错s带So百ck积et圈s水AP乓I编程兵,需仔要了性解网坏络编财程的诱框架荣,使蜡用起电来比百较复被杂。滨为了灶简化朽套接京字网目络编苏程,MF缸C提供狡了两杏个套离接字渗类,膏对Wi右nd负ow百s亩So坏ck秒et谁s俊AP贝I进行尸了不族同层赖次的乏封装妹。一厚个是CA窝sy猜nc峰So周ck写et类、英另一肌个是CS晒oc你ke冷t类。15奸.3详.1鄙MF破C艇Wi鞭nS呜oc匪k类编疲程概帝述CA吃sy支nc刮So甚ck乏et类对Wi须nd绒ow煤s以So或ck贺et咐s斥AP哲I进行笛了很喉底层兴次的居封装驰,它榜的成埋员函换数和Wi聋nd割ow您s祥So感ck到et宅s书AP累I的函奸数调舱用直餐接对琴应。蜻一个CA丧sy捕nc乳So饺ck失et对象夸代表沈一个狗套接炎字。施如果仅对网腾络通桥信的返细节膊比较狡熟悉晚,仍拣希望辽充分吓利用Wi牲nd航ow绒s凳So崭ck拼et擦s丝式AP株I编程孔的灵还活性猪,可桐以选斑择CA课sy和nc倍So追ck眨et进行尤编程虽。但但是必相须自信己处啦理阻澡塞问禁题、坟字节船顺序装问题殿和字度符串某转换叼问题感。15由.3豆.1少MF掠C盆Wi卷nS葬oc畜k类编敲程概卷述CS任oc惑ke俗t类是CA呜sy烫nc秤So肌ck煎et类派嘉生出荷来的荒,是准对Wi裤nd插ow孙s统So每ck炭et缘瑞s险AP犁I的高肃级封证装。CS士oc仗ke少t类继附承了CA问sy茎nc漂So于ck顶et类的孔许多个成员概函数栗,这婆些函售数封槐装了Wi升nd峰ow换s套接针字应恢用程虚序编膝程接傍口。值在两骨个套烫接字锦类中络,这坦些函狮数的授用法病是一恐致的盯。而CS断oc盘ke风t类的军高级到,主盖要表两现在3个方饱面:密一、CS欺oc化ke挪t类可表结合CA朋rc挠hi悄ve类来铅使用练套接欲字;酸二、CS山oc圈ke快t类管加理了夺通信悠的许向多方宅面,扁如字端节顺标序问毯题和丘字符币串转棍换问灾题。庙而这问些在爪使用板原始AP熟I或CA叫sy粒nc键So哗ck座et类时伟,都基必须速由用足户自啄己来页解决符。所散以,CS淘oc巩ke肌t类要春比CA昂sy乖nc僻So徐ck臣et类更洲容易泻使用盏。三衫、CS升oc牵ke案t类为Wi蹈nd疯ow扰s消息限的后抽台处格理提烟供了丛阻塞轰的工猾作模袄式,译而这桃也是CA脾rc慎hi蛮ve同步曾操作眨所必漠须的胞。15饰.3北.1杀MF别C辨Wi嫁nS遮oc基k类编汽程概筒述至于列这两太个类祸的主蓬要区盼别也军就是践前者谁是异疼步通况信,胶后者扑是同辨步通闻信;趟前者旨是非权阻塞劳模式区,后冠者是炎阻塞让模式伶。下种面我阵们只科对CS伴oc朗ke衡t类中凉的常葛用到希的一透些方弃法及冰其使撞用做农简要树介绍假。15慰.3年.2CS词oc眉ke星t类常追用到悲的方申法1.灭Af差xS锈oc巾ke雨tI垒ni蔽t(底)函数该函吵数作麻用为金初始霞化Wi映nS索oc底k,在苗使用CS趣oc坚ke跟t前一胁定要室先调淋用该耀函数沙,否暖则使软用CS征oc晴ke耐t会出肤错。沃就算推主线涉程调胳用了别该函胳数,杯在子黄线程态下使省用CS币oc财ke券t也要眠先调勒用该欣函数者。该蓄函数奔的原嫌型声完明为嘱如下滴。15忧.3饿.2CS诉oc资ke罩t类常佳用到硬的方腰法2.衰Cr村ea取te枪()方法通过惜调用Cr逗ea遮te窜()方法律创建穴底层尤套接自字句胸柄,众并且镇决定浩套接抱字对韵象的先具体辜特性格。其赢函数盘的原眯型声脑明如死下所流示。15已.3珍.2CS球oc卫ke咳t类常洗用到呆的方辨法3.巡寿Li律st畜en厚()方法通过啊调用Li阔st租en例()函数舟,是蒸监听弱套接副字对蚀象开姑始监慕听来趋自客察户机矿端口画的连世接请扬求。养此函做数的它原型蜻声明酷如下辟所示灯。15语.3串.2CS树oc感ke夜t类常像用到鸡的方女法4.孕Co欺nn稠ec硬t(眯)方法使用区流式己套接柿字需铜要事汪先建灰

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论