第讲 CH传输层与CI网络编程 Socke编程举例_第1页
第讲 CH传输层与CI网络编程 Socke编程举例_第2页
第讲 CH传输层与CI网络编程 Socke编程举例_第3页
第讲 CH传输层与CI网络编程 Socke编程举例_第4页
第讲 CH传输层与CI网络编程 Socke编程举例_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

TCP的端口

端口用一个16位端口号进行标志。只具有本地意义,即只为标志本计算机应用层中的各进程。三类端口分类:熟知端口,数值为0~1023。登记端口号,数值为1024~49151,使用这个范围的端口号必须在IANA登记,以防止重复。客户端口号或短暂端口号,数值为49152~65535,客户进程暂时使用,一般是动态分配的,通信结束后,这个端口号可供其他客户进程以后使用1套接字(socket)套接字socket=(IP地址:端口号)每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:

TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}2应用进程通过套接字接入到网络

应用进程TCP由应用程序控制因特网由操作系统控制客户服务器套接字TCP应用进程套接字32.套接字的作用

操作系统创建套接字应用进程请求操作系统为其创建“套接字”,以便把网络通信所需要的系统资源分配给该应用进程;操作系统建立套接字描述符建立好后,把此号码返回给应用进程。应用进程所进行的网络操作都必须使用这个号码。应用进程关闭套接字通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该“号码”相关的所有资源。4套接字描述符表(每一个进程一个描述符)0:1:2:3:4:操作系统套接字的数据结构协议族:PF_INET服务:SOCK_STREAM本地IP地址:远地IP地址:本地端口:远地端口:调用socket创建套接字

53.套接字连接的建立系统套接字调用顺序服务器端socketbindlistenacceptrecvsendclose客户端socketrecvsendcloseconnect连接建立请求6伯克利套接字(BerkeleySocket)TCP套接字传输原语73.套接字连接的建立-客户端创建一个套接字用socket原语创建一个套接字描述字结构。当套接字被创建后,它的端口号和IP地址都是空的。客户端开始连接请求利用connect原语,向服务器发出TCP连接请求,采用三次握手协议。客户端进入数据接收/发送模式当收到应答后,TCP连接成功建立,即可采用send和recv原语进行数据收发。83.套接字连接的建立-服务器端把本地地址绑定到套接字当套接字被创建后,它的端口号和IP地址都是空的,因此应用进程要调用bind(绑定)来指明套接字的本地地址。在服务器端调用bind时就是把熟知端口号和本地IP地址填写到已创建的套接字中。服务器进入被动监听方式在调用bind后,还必须调用listen(收听)把套接字设置为被动方式,以便随时接受客户的服务请求。UDP服务器由于只提供无连接服务,不使用listen系统调用。服务器进入接受方式紧接着就调用accept(接受),以便把远地客户进程发来的连接请求提取出来;系统调用accept的一个变量就是要指明从哪一个套接字发起的连接。9§3简.6墓TC毕P/作IP姻网痰络编编程举互例1.熟万怜维网蝴通信洪的特轧点2.内传耽输层猛协议探概述3.端传拍输控踢制协鹊议T疗CP4.丽T欲CP割传输杯协议旨报文熟头格棋式5.漂T套CP允/I挂P通现信的补实现6.剖T谋CP床/I商P总网络岩编程灾举例10套接融字地拉址结词构st迅ru旷ct屑s凯oc历ka暖dd门r茎结构1.贼为兼许多津类型检的套苦接字更储存蔽套接靠字地鞭址信撕息:结构镰定义st赖ru搞ctso防ck味ad量dr{un虽si抱gn罢ed课s柜ho霜rtsa喉_f编am暮il绸y;再/*地址苗家族,哲AF但_I摧NE孙T远*/ch糠ar榴s器a_乎da奥ta冶[1艇4]纺;塞/*举14字节炸协议脑地址绕、套框接字目袋标地施址和蹦端口暑。尽*/};11用这意个数袋据结距构可宰以轻脂松处净理套阵接字恰地址炸的基议本元姐素。3.一个枪并列技的套肺接字觉地址稻信息绪结构饼:st残ru行ct慰s曾oc冰ka猜dd鹊r_搭in港(芬"i苦n"班代微表"映In亦te妻rn界et便"。成)结构溉定义妙为:st孤ru受ct榴s脆oc雹ka今dd讽r_嚼in浙{sh发or岁t家in浪t坏si谣n_批fa久mi天ly盛;郑/颜*作通信揪类型肉*侦/un经si锯gn忆ed饮s男ho浑rt油i搁nt涝s沈in奶_p孕or绑t;痛/竖*狭端口麦*械/st驻ru随ct膨i铅n_画ad棍dr匙s低in贤_a语dd释r;猎/耳*肃In致te叼rn银et是地肚址树*/un筑si场gn烤ed思c执ha误r林si范n_亚ze漠ro定[8蛋];船/*受与翅so奇ck稼ad伏dr搬结构魔的长常度相同睡*/};12IP豪地扎址和帜如何顾处理胜它们假设毙你已转经有恒了一午个s扩oc胡ka积dd杀r_盼in骗结构迎体i蜜na为,你充有一醒个I填P地团址染"1煌32酿.2宗41印.5霜.1诞0"柳要储锈存在彼其中土,你币就要莫用到袋函数in换et筋_a钟dd柿r(优),将I盲P地杜址从危点刊数格慎式转事换成僚无符楚号长共整型冻。使注用方赚法如扒下:i新=in帖et羊_a惜dd委r(萄"1断32伴.2址41锋.5冻.1声0"巡寿);注意翼,i袋ne束t_狠ad获dr护()桌返回筝的地狐址已阴经是疑网络刃字节跑格式季,13so嘴ck央et睬()伏函数调用文格式SO薄CK蛮ET市s称oc洞ke介t(牵in岛t脚do夕ma艘in基,午in规t层ty蛋pe敌,盏in期t轮pr勺ot毯oc慎ol催);参数批含义恩:do嫌ma幻玉in浑:设飘置成恳“AF军_I带NE轨T”,粒象昏so女ck瓶ad庸dr织_i饥n结业构;ty物pe报:是SO难CK朱_S呜TR乓EA水M和SO挪CK学_D漫GR样AM类型独。Pr誉ot宰oc贼ol星:设士置为嗽“仇0”霸。返回返回域在系翼统调绳用中麻要用歪到的so协ck棒et炸描锻述符,或域在错护误的赚时候触返回阅-1阅。14co您nn颂ec满t(笋)程绑序-颂如何仆连接妇到远采程主秤机系统贷调用in喝t磨co僵nn犁ec泰t(先in敢t市so差ck融fd走,劣st野ru谢ct揭s扑oc境ka腐dd塞r凯*se朴rv滴_a康dd盗r,讽in暴t汽ad夜dr戒le紫n)敌;参数so长ck初fd锅是格系统搬调用碎s阿oc衔ke胆t(妙)狠返回搬的套吓接字港文件垮描述献符;se哪rv类_a尖dd矮r税是保存逃着目么的地即端口雀和鸟IP之地锯址的写数据叙结构凑s处tr彩uc遵t收so祸ck撞ad念dr国;ad住dr腊le闷n构设置叙为很s解iz滩eo缠f(醒st勤ru主ct脾s浓oc巩ka约dd夹r)伏。使用颤方法15ma隔in事()功{SO若CK哥ETso的ck由fd僵;st坚ru久ct表s答oc皆ka颤dd硬r_洲in置d洁es舟t_采ad初dr醒;覆/*或目它的地蚊址*涝/so顶ck添fd抚=惨s森oc排ke察t(贼AF掠_I籍NE羊T,卖S附OC街K_导ST顺RE提AM讨,晒0)贪;放/*脉错谷误检库查慌*/de忘st奶_a律dd帝r.微si熟n_奇fa袍mi沸ly面=梨A拨F_讯IN猜ET恨;闸/摘*誓主机悠字节溜顺序萌*木/de比st馅_a体dd呆r.捧si薯n_然po蝇rt懂=越h德to信ns商(D级ES旱T_极PO嗽RT五);/*行网敞络字办节顺小序户*/de闹st疯_a张dd鞋r.辽si汉n_鞭ad费dr茂.S_今un芦.s_戏ad你dr悔=钢i窑ne胡t_胸ad漠dr勤(D耐ES亦T_泽IP习);bz叫er吃o(络&(盾de猴st励_a榨dd别r.嘱si推n_袄ze区ro存),浪;远/*锡z趁er磨o捞th辛e垄re朱st扣o蝇f促th馅e偷st扑ru滩ct畅*语/co粒nn工ec近t(殿so肚ck光fd鸦,挎(s普tr已uc遥t踏so膛ck摔ad炸dr*)鲜&d绳es猎t_庸ad樱dr,英si细ze快of绕(s破tr峡uc南t诵so冈ck笨ad填dr泡))写;。。武。。床。。16bi指nd槐()样函数将套铸接字从和机考器上墙的一洪定的沸端口液关联忆起来救。调用屿方法般:in缎t津bi屯nd团(i检nt菠s阀oc时kf阅d,走s炸tr钱uc乐t成so期ck关ad你dr党*艰my珠_a忽dd沃r,诸i寻nt治a涛dd凭rl汽en联);参数So光ck络fd梢:调朋用府so手ck阁et瞧返享回的载文件鸽描述咽符免;my随_a宪dd且r:叛数据化结构st挨ru敬ct怕s舱oc初ka财dd惯r指灶针,保犯存本邻机地误址(零即端立口和扇I依P踪蝶地址邪)另信息扯;Ad励dr屯le惧n:哗设置狠为si焰ze纵of垂(s变tr徒uc胖t魂so隔ck捐ad错dr)。返回绑定晓成功指与否状标致非。17Bi涉nd比()回函数战使用宁举例#i竹nc允lu筛de艇<沿st隐ri岔ng虑.h僵>#i址nc赔lu挥de能<桨sy父s/担ty参pe秒s.溉h>#i寺nc茧lu泽de蝇<盆sy户s/紫so亭ck蒙et逝.h启>#d联ef贯in伐e侄MY肥PO晶RT傲3欢49葱0ma蹈in籍(){in汁t缝so灾ck争fd砌;st记ru东ct花s怖oc谋ka食dd链r_挽in权m耐y_枯ad杰dr觉;so提ck跨fd修=津s课oc浸ke准t(卖AF郊_I科NE浓T,词S然OC掠K_纱ST嘱RE性AM茧,伶0)呈;双/*蔑需要蹲错误模检查朋*绞/my杨_a纱dd染r.纺si快n_干fa辅mi床ly欠=悄A昌F_传IN每ET蝴;现/*挤主脂机字恭节顺柔序辨*/my宽_a浩dd恋r.录si卷n_音po常rt胶=寨h确to先ns倦(M师YP技OR寺T)忧;翁/*握网王络字求节顺眉序楚*/my胁_a沙dd晶r.柿si造n_冤ad谜dr言.S_扰un话.s_宵ad洲dr滚=慎i委ne挎t_造ad堡dr耳("病13块2.政24场1.首5.鞋10描")绩;bz堆er捐o(想&(失my腰_a删dd碗r.墓si男n_陷ze蠢ro玻),骗;光/*期把哨结构访剩余捉部分午置零叠*灰/bi因nd流(s邀oc宾kf纲d,虹(吹st湾ru该ct睬s临oc桶ka尝dd终r扭*)自&m汁y_柴ad痒dr碗,万si域ze沟of苗(s伙tr卸uc棒t林so催ck迷ad底dr佩))躬;18li择st哥en醋()货函数系统坚调用in炕t滚li暴st重en拳(i互nt蚕s愈oc师kf爽d,索i插nt辉b简ac渠kl央og葛);参数so攻ck庭fd翅是朱调用喇s茂oc上ke台t(肢)绸返回闯的套盛接字竿文件和描述酱符ba给ck脑lo孕g膜是在址进入远队列朱中允君许的灶连接仓数目谢,即进颤入的伶连接制是在染队列霸中一攻直等缸待直狼到你狱接受摊(扛ac饶ce涝pt邮()子函数勒)连泉接返回在发喜生错棋误的靠时候错返回无-1炮,并颜设置颂全局蛇错误淋变量姓e杰rr饮no纽奉。19ac概ce庸pt辰()钓函数函数崭调用SO拴CK绣ETac僚ce耻pt棚(i阅nt呜s煎oc蜡kf牢d,畅v姓oi斥d烦*a碎dd锦r,岛i岭nt流*舰ad贪dr树le锡n)胳;so顾ck杂fd层:薯是和何l夸is盒te理n(贴)巷中一总样的碑套接券字描稼述符ad伙dr承:指民向局团部的塞数据碎结构透s魂oc疮ka省dd援r_茅in押的伶指针狱。这是但要求张接入特的信解息所步要去纤的地放方常(你守可以寸测定值哪个宁地址葛在哪划个端稼口呼蹈叫你裂)。返回将返接回一纷个新泰的套春接字昼文步件描邮述符集。这样蔬有两泳个套牧接字泽,原庙来的抄一个竿还在寇侦听朱你的轨那个泰端口尘,而离新套勤接字疼则准敏备发堡送跨(s允en撇d(练))绪和返接收愈(夸r估ec叨v(籍))旬数联据。使用20ma渔in女(){in卧t兵so尸ck守fd袖,台ne唤w_唇fd逮;热/*糕在跌so风ck睁_f夹d上誉侦听蛾,在朗ne捞w_衡fd酬上创灭建新朝链接睁*/st驳ru为ct克s侍oc浇ka章dd厕r_梦inmy嫌_a娘dd贡r;/*泽地行址信馒息园*/st浇ru拌ct滴s们oc华ka扶dd单r_往inth盾ei肝r_龙ad疫dr;肯/*梁对浅方地箭址信吼息影*/in匹t心si碑n_起si描ze绪;so陡ck血fd帽=利s览oc赵ke穷t(次AF鸦_I笼NE专T,赛S墓OC拆K_萄ST恒RE饱AM载,异0)辱;嘱/*饶错险误检与查*箩/my甚_a煌dd涛r.饲si舞n_适fa趁mi锡ly盏=裕A跑F_星IN旧ET典;暖/*慢主材机字宣节顺笨序绳*/my恳_a闷dd保r.韵si手n_晴po怠rt俗=属h换to绝ns刊(M菊YP贯OR厦T)炎;疯/*坏网付络字殊节顺故序蜜*/=谢IN肆AD象DR服_A大NY类;渗/*斯用苏本机育IP且填充针*译/bz模er欠o(记&(漂my蓝_a思dd视r.邀si阁n_东ze胜ro兴),拒;蒜/*弦结哈构的帮其他肺部分改设置母为0柱*拆/bi携nd骡(s肃oc辰kf恶d,际(其st困ru启ct吐s汪oc缘瑞ka筒dd灵r誓*)奶&m最y_效ad勿dr玩,块si舰ze旬of耗(s殊tr拍uc罢t妹so箱ck胃ad殿dr连))泼;li违st活en泳(s眠oc机kf氧d,外1幅0);si屡n_竞si感ze直=业s灿iz装eo挥f(环st略ru睡ct洗s低oc滥ka尼dd洪r_填in振);ne企w_喇fd珠=爷a杆cc南ep泪t(沾so惰ck辛fd购,全&t旬he神ir湾_a杨dd第r,凡&因si老n_动si霞ze油);……21se呈nd符()盼-流攀式套落接字字的发托送函数须声明in岂t肥se延nd跌(i卖nt御s盘oc幕kf亚d,俊c具on陵st低v碎oi奖d侨*m孝sg撤,肢in暂t抽le快n,蒸i摩nt崖f币la划gs土);参数So搁ck抓fd耐:发狭送数答据s兰oc耗ke瞒t(刻是s完oc硬ke西t(阻)穷或a丙cc冷ep解t(巾)返秤回的ms催g是指藏向你虹想发捡送的腐数据暗的指药针le今n歇是数宪据的苗长度fl劳ag组s筛设置县为鸣0返回实际慕发送隶的数章据的跃字节纷数22re窝cv壳()桌-流壮式套虫接字边的接榴收函数劲声明in辅t经re灯cv狡(i在nt炎s莫oc评kf狐d,

温馨提示

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

评论

0/150

提交评论