计算机通信应用层.ppt

上传人:wuy****n92 文档编号:86901026 上传时间:2023-04-15 格式:PPT 页数:57 大小:1.63MB
返回 下载 相关 举报
计算机通信应用层.ppt_第1页
第1页 / 共57页
计算机通信应用层.ppt_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《计算机通信应用层.ppt》由会员分享,可在线阅读,更多相关《计算机通信应用层.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机通信网计算机通信网第第1313章章 应用层应用层第第1313章章 应用层应用层13.1 13.1 网络应用模式网络应用模式1.1.客户客户-服务器模式(服务器模式(C/SC/S)2.2.处理并发请求的方案处理并发请求的方案 并发服务器并发服务器 特点:灵活性好、实时性好、开销大。特点:灵活性好、实时性好、开销大。重复服务器重复服务器功能:规定应用进程通信应该遵循的协议。功能:规定应用进程通信应该遵循的协议。浏览器浏览器-服务器模式(服务器模式(B/SB/S)随机性、非对等性、高效性随机性、非对等性、高效性13.2 13.2 域名系统(域名系统(DNSDNS)功能:主机名功能:主机名 IP

2、IP地址地址结构:联机分布式数据库系统结构:联机分布式数据库系统模式:模式:C/SC/S传输:传输:UDPUDP,周知端口周知端口535313.2.1 13.2.1 InternetInternet域名结构域名结构1.1.层次结构层次结构.三级域名三级域名.二级域名二级域名.顶级域名顶级域名若干级若干级 每级域名由英文和阿拉伯数字组成,不区分大小每级域名由英文和阿拉伯数字组成,不区分大小写,不超过写,不超过6363个字符,整个域名不超过个字符,整个域名不超过255255个字符。个字符。2.2.命名树命名树顶级顶级国家国家通用通用二级二级类别类别行政行政(我国)(我国)3.3.域名是逻辑概念,与

3、地理位置无关。域名是逻辑概念,与地理位置无关。下级由上级分配和管辖下级由上级分配和管辖4.4.相对域名与绝对域名。相对域名与绝对域名。.com com 公司企业公司企业.net .net 网络服务机构网络服务机构.org .org 非赢利性组织非赢利性组织.edu .edu 教育部门教育部门.gov gov 政府机关(美国专用)政府机关(美国专用).mil .mil 军事部门(美国专用)军事部门(美国专用).int .int 国际性的组织国际性的组织通用顶级域名通用顶级域名.biz biz 商业商业.info .info 网络信息服务组织网络信息服务组织.pro .pro 会计、律师和医生会计

4、、律师和医生.name .name 个人个人.museum.museum 博物馆博物馆.coop .coop 商业合作团体商业合作团体.aero .aero 航空航空13.2.2 13.2.2 域名解析域名解析1.1.域名服务系统的特点:域名服务系统的特点:层次层次 记录域名与记录域名与IPIP映射映射 每个域名服务器知道根域名服务器的每个域名服务器知道根域名服务器的IPIP 根域名服务器知道二级域名服务器的根域名服务器知道二级域名服务器的IPIP 每个域名服务器知道自己下一级域名服务器的每个域名服务器知道自己下一级域名服务器的IPIP2.2.域名系统解析过程域名系统解析过程访问本地域名服务器

5、访问本地域名服务器访问非本地域名服务器访问非本地域名服务器本地域名服务器本地域名服务器根域名服务器根域名服务器 联合协作系统联合协作系统两种方式:两种方式:递归解析递归解析 反复解析反复解析复杂性和负担在复杂性和负担在 服务器服务器 客户客户3.3.域名缓存域名缓存li.cs.yale.eduli.cs.yale.edu13.3 13.3 远程登陆协议远程登陆协议(TelnetTelnet)用于访问远程系统的资源。用于访问远程系统的资源。13.3.1 13.3.1 TelnetTelnet工作原理工作原理特点:特点:C/SC/S模式模式TCPTCP连接连接 23 23号周知端口号周知端口并发服

6、务器并发服务器13.3.2 13.3.2 网络虚拟终端(网络虚拟终端(NVTNVT)NVTNVT编码格式:数据编码格式:数据+控制控制ASCIIASCII13.3.3 13.3.3 TelnetTelnet命令命令转义序列转义序列 以以IACIAC开头开头如:如:IAC IP IAC IP(255 244255 244)13.3.4 13.3.4 TelnetTelnet选项协商选项协商请求请求“WILLWILL(选项代码)选项代码)”表示表示“我想执行选项代码所指定的选项我想执行选项代码所指定的选项”响应响应“DO/DONTDO/DONT(选项代码选项代码)”表示表示“同意同意/不同意执行此

7、选项不同意执行此选项”请求请求“DODO(选项代码选项代码)”表示表示“要求对方执行选项代码所指定的选要求对方执行选项代码所指定的选项项”响应响应“WILL/WONTWILL/WONT(选项代码)选项代码)”表示表示“同意同意/不同意执行此选项不同意执行此选项”如:如:WILL 0WILL 0(251 0251 0)DO 0 DO 0 (253 0253 0)13.4 13.4 文件传送协议(文件传送协议(FTPFTP)13.4.1 13.4.1 FTPFTP的客户的客户-服务器模式服务器模式1.1.双重连接双重连接 控制连接:负责会话控制信息控制连接:负责会话控制信息 21 21端口端口 命

8、令集命令集 NVT ASCIINVT ASCII码形式码形式 数据连接:负责传送文件数据连接:负责传送文件 20 20端口端口 NVT ASCIINVT ASCII码形式码形式2.2.并发服务并发服务 在一个在一个FTPFTP会话中,需建立一个控制连接和若干个数会话中,需建立一个控制连接和若干个数据连接,均为据连接,均为TCPTCP连接。连接。13.4.2 13.4.2 FTPFTP访问控制访问控制 严格的严格的FTPFTP访问访问 合法帐号:登录名合法帐号:登录名+口令口令 匿名访问匿名访问 公开帐号:公开帐号:anonymous+guestanonymous+guest anonymous

9、+anonymous+电子邮件形式电子邮件形式13.5 13.5 电子邮件(电子邮件(E-mailE-mail)13.5.1 13.5.1 电子邮件系统电子邮件系统1 1)简单邮件传送协议)简单邮件传送协议SMTPSMTP(Simple Mail Transfer ProtocolSimple Mail Transfer Protocol)只能传输文本只能传输文本2 2)多用途)多用途InternetInternet邮件扩充邮件扩充MIMEMIME(Multipurpose Internet Mail ExtensionsMultipurpose Internet Mail Extension

10、s)可传输多种数据类型:文本、声音、图像和视像可传输多种数据类型:文本、声音、图像和视像3 3)邮局协议和因特网报文存取协议)邮局协议和因特网报文存取协议POPPOP(Post office protocolPost office protocol)POP3POP3IMAPIMAP(Internet message access protocolInternet message access protocol)IMAP4 IMAP4 1.1.概述概述MOTIFMOTIF(message oriented text interchange systemmessage oriented text

11、interchange system)X.400X.400*用户代理用户代理UAUA(User AgentUser Agent)*报文传送代理报文传送代理MTAMTA(Message Transfer Agent)(Message Transfer Agent)2.2.电子邮件系统的组成电子邮件系统的组成用户主机、邮件服务器、电子邮件协议用户主机、邮件服务器、电子邮件协议用户主机上的用户代理用户主机上的用户代理UAUA 发件撰写、收件显示、收件处理、交付和读取邮件发件撰写、收件显示、收件处理、交付和读取邮件邮件服务器上的报文传送代理邮件服务器上的报文传送代理MTAMTA邮件发送、邮件接收、邮件

12、传送情况报告邮件发送、邮件接收、邮件传送情况报告电子邮件协议:电子邮件协议:SMTPSMTP、POPPOP4 4)电文交换系统)电文交换系统3.3.电子邮件的传送过程电子邮件的传送过程4.4.电子邮件地址电子邮件地址收信人邮箱名收信人邮箱名邮箱所在主机的域名邮箱所在主机的域名CatCDogD13.5.2 13.5.2 电子邮件的信息格式电子邮件的信息格式1.RFC8221.RFC822 *早期早期:ASCIIASCII码的文本邮件码的文本邮件 *两部分组成:首部两部分组成:首部(header)header)、正文、正文(body)body)*首部关键字:首部关键字:ToTo:开头,接收方电子邮

13、件地址列表开头,接收方电子邮件地址列表 FromFrom:发送方电子邮件地址发送方电子邮件地址 CcCc:发送副本的地址发送副本的地址 DateDate:发送日期和时间发送日期和时间 SubjectSubject:邮件主题邮件主题 Reply-ToReply-To:回复地址回复地址2.2.多用途多用途InternetInternet邮件扩充邮件扩充MIMEMIME类型类型内容内容texttext(文本)文本)imageimage(图像)图像)audioaudio(音频)音频)videovideo(视频)视频)applicationapplication(应用程序)应用程序)multipartm

14、ultipart(多部分)多部分)messagemessage(邮件)邮件)文本文本 一幅静态图像一幅静态图像 一段声音记录一段声音记录 视频记录(包括运动的)视频记录(包括运动的)程序的原始数据程序的原始数据 多部分邮件多部分邮件 一个完整的电子邮件一个完整的电子邮件 支持传送多媒体数据类型支持传送多媒体数据类型 ,用,用ASCIIASCII码对任意码对任意数据进行编码,然后在标准电子邮件中传输。数据进行编码,然后在标准电子邮件中传输。1 1)邮件内容类型)邮件内容类型2 2)邮件首部扩充)邮件首部扩充MIME-VersionMIME-Version:MIME MIME版本版本Content

15、-DescriptionContent-Description:邮件内容描述邮件内容描述Content-IDContent-ID:邮件标识符邮件标识符Content-TypeContent-Type:邮件内容的类型邮件内容的类型Content-Transfer-EncodingContent-Transfer-Encoding:内容传送编码方式内容传送编码方式 新增关键字:新增关键字:From:box-fromuniversity.eduTo:box-MIME-Version:1.0Content-Type:image/gifContent-Transfer-Encoding:base64如:

16、如:2 2)内容传送编码)内容传送编码a.a.一般的英文文本文件:使用一般的英文文本文件:使用ASCIIASCII字符字符b.b.非英文文本(非英文文本(ASCIIASCII居多,并有少量非居多,并有少量非ASCIIASCII码码 )二进制二进制 01000001 11001001 00111101 01000001 11001001 00111101十六进制十六进制 41 41 C9 3DC9 3D十进制十进制 65 201 61 65 201 61打印形式打印形式 “A”A”非非ASCIIASCII码码 “=”“=”01000001 00111101 01000011 00111001 0

17、0111101 00110011 01000100 01000001 00111101 01000011 00111001 00111101 00110011 01000100 41 41 3D 43 39 3D 33 443D 43 39 3D 33 4465 61 67 57 61 51 6865 61 67 57 61 51 68 “A”“A”“=”“=”“C”C”“9”“=”“3”“9”“=”“3”“D”D”编码后:编码后:c.c.任意二进制文件(任意二进制文件(6464字符编码)字符编码)二进制数据二进制数据 24 24bitbit的组的组 4 4个个6 6bitbit的单位的单位

18、063 063 AX,ax,09,+AX,ax,09,+,/(ASCIIASCII字符)字符)二进制二进制 00000001 01000100 11111111 00000001 01000100 111111116 6比特单位比特单位 000000 010100 010011 111110 000000 010100 010011 111110 Base64Base64编码编码 “A”A”“U”U”“T”T”“+”+”13.5.3 13.5.3 SMTPSMTP MTAMTA之间的通信协议之间的通信协议 客户客户-服务器模式,发送服务器模式,发送:客户,接收客户,接收:服务器。服务器。TCP

19、 TCP连接连接,周知端口周知端口2525 通信由可读的通信由可读的ASCIIASCII文本组成文本组成 *14 *14条命令和条命令和2121种应答信息。种应答信息。*命令:由四个字母组成。命令:由四个字母组成。*应答信息应答信息:由代码由代码(3(3位数字位数字)开始,后面可附(也可开始,后面可附(也可不)文字说明。不)文字说明。SMTP:SMTP:(TCPTCP三次握手后三次握手后)Server:Server:220 xyz.edu SMTP Service ready 220 xyz.edu SMTP Service readyClient:Client:HELO HELO Serve

20、r:Server:250 xyz.edu OK 250 xyz.edu OK(建立连接建立连接,HELOHELO是命令,是命令,220 220 和和 250 250 是应答代码是应答代码)Client:Client:MAIL FROM:zhang_3 MAIL FROM:Server:Server:250 OK 250 OKClient:Client:RCPT TO:li _4 RCPT TO:xyz.edu (确认收方)确认收方)Server:Server:250 OK 250 OK(或或 550 550 No Such user here)No Such user here)Client:

21、Client:DATA DATAServer:Server:354 Start mail sending;end with.354 Start mail sending;end with.Client:Happy birthday to you.Client:Happy birthday to you.Client:Client:.Server:Server:250 OK250 OKClient:QUITClient:QUITServer:221 xyz.edu closing transmission channelServer:221 xyz.edu closing transmissio

22、n channelSMTPSMTP示例:示例:13.5.4 13.5.4 邮局协议(邮局协议(POPPOP)n个人计算机个人计算机(尤其是拨号上网尤其是拨号上网)不适合作不适合作MTAMTA。nPOP3:POP3:*客户服务器模式,客户服务器模式,TCPTCP连接连接,周知端口周知端口110110;*客户计算机不定期检索邮件,独立阅读处理。客户计算机不定期检索邮件,独立阅读处理。*邮件服务器邮件服务器,运行运行SMTPSMTP和和POP3,POP3,安装邮箱,收发安装邮箱,收发邮件邮件;由单位或由单位或ISPISP安装。安装。n Internet Internet报文存取协议报文存取协议IMA

23、P4IMAP4(Internet Message(Internet Message Access Protocol)Access Protocol)*客户客户-服务器模式,用户检索服务器上的邮件。服务器模式,用户检索服务器上的邮件。*可操纵服务器的邮箱,创建维护邮件夹。可操纵服务器的邮箱,创建维护邮件夹。n 基于基于WebWeb方式的邮件访问协议方式的邮件访问协议 13.6 13.6 万维网万维网(WWWWWW)13.6.1 13.6.1 概述概述1 1)大规模分布式信息系统,用超链的方法获取信息。)大规模分布式信息系统,用超链的方法获取信息。2 2)工作方式:工作方式:B/SB/S3 3)万

24、维网文档定位:统一资源定位符(万维网文档定位:统一资源定位符(URLURL)4 4)超文本传送协议(超文本传送协议(HTTPHTTP),),基于基于TCPTCP的可靠传输的可靠传输5 5)超文本标记语言(超文本标记语言(HTMLHTML)13.6.2 13.6.2 统一资源定位符(统一资源定位符(URLURL)URLURL(Uniform Resource LocatorUniform Resource Locator)的格式的格式:访问方式访问方式:/:/服务器域名服务器域名:端口号端口号/路径路径/文件名文件名httphttp 超文本传送协议超文本传送协议HTTP ftpHTTP ftp

25、文件传送协议文件传送协议FTPFTPtelnet telnet 用于交互式会话用于交互式会话 mailto mailto 电子邮件地址电子邮件地址访问方式访问方式:/:/服务器域名服务器域名:端口号端口号/路径路径/文件名文件名大、小写不区分,但多用小写大、小写不区分,但多用小写常用服务器的端口号可省略常用服务器的端口号可省略httphttp:/若省略路径和文件名,则表示主页若省略路径和文件名,则表示主页httphttp:/其它访问方式:其它访问方式:ftpftp:/ftpftp:/缺点:必须告知主机缺点:必须告知主机全球资源标识符全球资源标识符URIURI(universal resourc

26、e universal resource identifieridentifier)13.6.3 13.6.3 超文本传送协议超文本传送协议(HTTPHTTP)1.1.概述概述 1 1)版本)版本 HTTP1.0HTTP1.0、HTTP1.1HTTP1.1 2 2)基于基于TCPTCP,本身并无可靠性机制本身并无可靠性机制 3 3)服务器利用)服务器利用8080端口监听端口监听2.2.两类报文两类报文v HTTP HTTP客户请求报文客户请求报文v HTTP HTTP服务器响应报文服务器响应报文请求行请求行通用首部通用首部请求首部请求首部实体首部实体首部实体主体实体主体状态行状态行通用首部通用

27、首部响应首部响应首部实体首部实体首部实体主体实体主体请求行和状态行请求行和状态行首部行首部行 说明浏览器、服务器和报文主体的一些信息。说明浏览器、服务器和报文主体的一些信息。实体主体实体主体方法:方法:GET HEAD PUT POST DELETE COPYGET HEAD PUT POST DELETE COPY13.6.4 13.6.4 万维网工作原理万维网工作原理服务器:服务器进程,服务器:服务器进程,8080端口监听端口监听客户客户 :客户进程,不定时请求服务:客户进程,不定时请求服务 http:/xxhttp:/xx/txgc/index.htmtxgc/index.htm 浏览器

28、分析页面的浏览器分析页面的URLURL;服务器域名服务器域名()解析解析;浏浏览览器器使使用用服服务务器器的的IPIP地地址址和和周周知知端端口口8080与与服服务务器器建建立立TCPTCP连接;连接;浏览器浏览器HTTPHTTP命令:命令:GET/xx/txgc/index.htmGET/xx/txgc/index.htm;服务器响应,将文件服务器响应,将文件index.htmindex.htm发送给浏览器;发送给浏览器;双方释放双方释放TCPTCP连接;连接;浏览器显示文件浏览器显示文件index.htmindex.htm的页面。的页面。1.1.浏览器访问浏览器访问WebWeb服务器服务器

29、2.2.万维网代理万维网代理运行在本地运行在本地LANLAN上的一台主机上的一个进程。上的一台主机上的一个进程。v 缓存缓存v 浏览器配置浏览器配置v Web Web代理同时为客户和服务器代理同时为客户和服务器3.3.浏览器访问浏览器访问FTPFTP服务器服务器1 1)含有)含有FTPFTP客户的浏览器直接访问客户的浏览器直接访问2 2)通过)通过FTPFTP代理访问代理访问4.4.浏览器浏览器一组客户一组客户+一组解释程序一组解释程序+一个控制程序一个控制程序5.5.服务器服务器响应速度受到磁盘访问时间的限制。响应速度受到磁盘访问时间的限制。1 1)缓存)缓存2 2)多线程模式)多线程模式3

30、 3)WebWeb服务器场服务器场13.6.5 13.6.5 超文本标记语言超文本标记语言(HTMLHTML)v HTMLHTML(hypertext markup languagehypertext markup language)v 制作万维网页的标准语言制作万维网页的标准语言v 关键:设置标签(关键:设置标签(tagtag),),即指明信息显示的格式即指明信息显示的格式1.1.格式与标签格式与标签元素格式:元素格式:NAME元素内容元素内容/NAME两部分两部分:首部首部+主体主体段落(段落(paragraphparagraph)、)、表格(表格(tabletable)、)、图像(图像(

31、imageimage)标题(标题(titletitle)HTML HELLO WORLD!HELLO WORLD!世界你好!世界你好!/I 你好世界!你好世界!IMG SRC=E:jpg 2.2.HTMLHTML的超链的超链1)1)标签标签:,A(Anchor),A,A(Anchor),锚锚,扎到超链的终点。扎到超链的终点。”startstart 青岛科技大学青岛科技大学/A A HREF=“E:.html”优秀人才优秀人才例:例:图片图片:IMG SRC=“22.jpg”2)2)远程链接、本地链接远程链接、本地链接定义:定义:terminal-characters A NAME=“named

32、 anchor”terminal-characters 链接到一个命名锚:链接到一个命名锚:startA HREF=“#named anchor”start命名锚还可链接到本地其它命名锚还可链接到本地其它HTMLHTML文件上,但不能连接到其文件上,但不能连接到其它网点的文件上。它网点的文件上。3)3)命名锚命名锚(named anchor):named anchor):链接到同一文件中某处定义命链接到同一文件中某处定义命名锚(链接的终点)。名锚(链接的终点)。13.6.6 13.6.6 动态动态WebWeb文档技术文档技术万维网的三种基本形式:万维网的三种基本形式:静态文档静态文档 动态文挡

33、动态文挡 活动文挡活动文挡13.5 13.5 动态主机配置协议(动态主机配置协议(DHCPDHCP)v 提供动态配置提供动态配置IPIP的机制的机制v 除配置除配置IPIP地址,还可配置子网掩码、默认路由器地址,还可配置子网掩码、默认路由器IPIP地址和地址和DNSDNS服务器服务器IPIP地址。地址。v 采用采用C/SC/S模式模式v 采用采用UDPUDP连接、连接、6 67 7号端口号端口1.1.概述概述2.2.工作过程工作过程 DHCPDHCP客户广播发现报文客户广播发现报文DHCPDISCOVERDHCPDISCOVER DHCPDHCP服务器作出响应服务器作出响应DHCPOFFERD

34、HCPOFFER DHCPDHCP客户发出请求报文客户发出请求报文DHCPREQUSTDHCPREQUST DHCPDHCP服务器作出响应服务器作出响应DHCPACKDHCPACK3.3.租用期租用期(lease period)lease period)T T、T T1 1=0.5T=0.5T 、T T2 2=0.875T=0.875T 、T T2 2=T=T 1 1)终止:)终止:DHCPDHCP客户发送释放报文客户发送释放报文DHCPRELEASEDHCPRELEASE。2 2)续租:续租:T T1 1时刻,时刻,DHCPDHCP客户发出请求报文客户发出请求报文DHCPREQUSTDHCP

35、REQUST T T2 2时刻,客户广播请求报文时刻,客户广播请求报文DHCPREQUSTDHCPREQUST,服务器发服务器发DHCPACKDHCPACK或或DHCPNAKDHCPNAK。DHCPDHCP服务器同意续租,发确认服务器同意续租,发确认DHCPACKDHCPACK DHCP DHCP服务器不同意续租,发否定确认服务器不同意续租,发否定确认DHCPNAKDHCPNAK DHCPDHCP服务器无响应服务器无响应 T T3 3时刻,回到初始状态,重新申请。时刻,回到初始状态,重新申请。第第1414章章 SorketSorket网络通信编程网络通信编程14.1 14.1 套接字套接字 S

36、ocketSocket14.1.1 14.1.1 网络应用程序编程接口网络应用程序编程接口v 操作系统操作系统OSOS(operating systemoperating system):):内核和系统应用程序、应用程序内核和系统应用程序、应用程序v TCP/IP TCP/IP网络操作系统网络操作系统v 应用程序编程接口应用程序编程接口APIAPI(application program interface)(application program interface),SocketSocket机制。机制。概念:套接字看成是网络环境下概念:套接字看成是网络环境下UNIXUNIX文件访问机制的文

37、件访问机制的一般化,一般化,文件描述字文件描述字-套接字描述字套接字描述字,是一种网络,是一种网络API API。使用:类似文件描述字使用:类似文件描述字 :*打开文件打开文件文件描述字文件描述字使用描述字使用描述字write/read write/read *创建套接字创建套接字套接字描述字(套接字描述字(地址绑定和地址绑定和TCPTCP连接连接)使用描述字使用描述字write/readwrite/read 套接字对套接字对(Socket pairSocket pair):):标识一个标识一个TCPTCP连接,定义连接,定义连接两个端点的四元组。连接两个端点的四元组。套接字机制基于客户套接字

38、机制基于客户服务器模式。服务器模式。14.2.1 14.2.1 套接字的创建与关闭套接字的创建与关闭 创建调用创建调用:sockidsockid:系统调用系统调用socketsocket()()的返回值,整数,的返回值,整数,SocketSocket描述字,或称描述字,或称SocketSocket号号。pf(protocol family)pf(protocol family):协议族协议族 PF_INETPF_INET:IPv4 IPv4 互联网协议互联网协议 PF_INET6PF_INET6:IPv6 IPv6 互联网协议互联网协议 PF_UNIXPF_UNIX:UNIXUNIX内部地址,

39、文件路径名内部地址,文件路径名 type:type:类型,应用程序指定通信服务类型类型,应用程序指定通信服务类型 SOCK_STREAMSOCK_STREAM:流流socketsocket;SOCK_DGRAM SOCK_DGRAM:数据报数据报socketsocket;SOCK_RAW SOCK_RAW:原始原始socketsocket;14.2 14.2 Socket Socket 网络通信编程网络通信编程sockid=socket(pf,type,protocol)protocolprotocol协议协议 当一一对应时,当一一对应时,protocolprotocol可置为可置为0 0,默

40、认协议,默认协议.S=socket(PF_INET,SOCK_STREAM,S=socket(PF_INET,SOCK_STREAM,0 0)-)-TCPTCP 套接字关闭套接字关闭:协议族协议族Socket类型类型实际协议实际协议PF_INETSOCK_DGRAMUDPSOCK_STREAMTCPSOCK_RAWIPv4SOCK_RAWICMPPF_INET6SOCK_DGRAMUDPSOCK_STREAMTCPSOCK_RAWIPv6SOCK_RAWICMPv6close(sockid)14.2.2 14.2.2 绑定本地地址绑定本地地址 将本地将本地socketsocket地址(地址(I

41、PIP地址和端口号)与所创建的地址和端口号)与所创建的socketsocket号联系起来,亦称号联系起来,亦称socketsocket命名命名。绑定绑定调用调用:sockidsockid:socketsocket号;号;localaddrlocaladdr:指向指向socketsocket地址结构的指针;地址结构的指针;addrlenaddrlen:地址长度(字节)。地址长度(字节)。bindbind()()成功返回成功返回0 0,失败返回,失败返回-1-1。网络字节顺序网络字节顺序:高位先存(:高位先存(big-endianbig-endian):):128.10.2.30 128.10.2

42、.30:低地址低地址 高地址高地址 800A02 1E bind(sockid,localaddr,addrlen)13.2.3 13.2.3 建立连接建立连接1.1.请求连接请求连接n客户端的动作,一般用于面向连接的流客户端的动作,一般用于面向连接的流socketsocket。n请求连接:请求连接:sockidsockid:本地本地socketsocket号;号;destaddrdestaddr:指向对方指向对方socketsocket地址结构的指针;地址结构的指针;addrlenaddrlen:指出对方指出对方socketsocket地址长度。地址长度。成功返回成功返回0 0,失败返回,失

43、败返回-1-1。n调用调用connect()connect()前可不调用前可不调用bind()bind(),内核负责。内核负责。n也可用于无连接方式,指明默认目的地址。也可用于无连接方式,指明默认目的地址。connect(sockid,destaddr,addrlen)2.2.接收连接接收连接1 1)listenlisten()():sockid sockid 本地本地socketsocket号号;quelen quelen 队列长度队列长度,限制排队请求的个数。限制排队请求的个数。成功返回成功返回0 0,失败返回,失败返回-1-1。listenlisten()成成功功后后,该该套套接接字字成

44、成为为准准备备接接收收连连接接的的模模式式,称为称为被动套接字被动套接字。Listen(socketid,quelen)服务器端的动作,服务器端的动作,bind()bind()后两步:一是创建侦听队列,后两步:一是创建侦听队列,以存储多个连接请求;二是接收连接。以存储多个连接请求;二是接收连接。2 2)acceptaccept()sockid sockid:本地本地socketsocket号。号。clientaddrclientaddr:指向初始值为空的客户指向初始值为空的客户socketsocket地址结地址结构的指针,返回时放入实际地址构的指针,返回时放入实际地址 。paddrlenpad

45、drlen:指向初始值为指向初始值为0 0的客户的客户socketsocket地址长度地址长度变量的指针,返回时放入实际长度变量的指针,返回时放入实际长度 。newsocknewsock:返回的新返回的新socketsocket号,它与客户建立了连号,它与客户建立了连接,而原接,而原SocketSocket可继续用来接收新的连接请求。可继续用来接收新的连接请求。newsock=accept(sockid,clientaddr,paddrlen)14.2.4 14.2.4 数据的发送与接收数据的发送与接收 1.1.发送数据发送数据1 1)面向连接的数据发送)面向连接的数据发送 缓冲发送:缓冲发送

46、:可控缓冲发送:可控缓冲发送:收集发送:收集发送:sockidsockid:本地本地socketsocket号;号;buffbuff:指向发送缓冲区的指针;指向发送缓冲区的指针;lengthlength:发送数据长度发送数据长度(字节字节);write(sockid,buff,length)writev(sockid,iovector,vectorlen)send(sockid,buff,length,flags)2 2)无连接的数据发送)无连接的数据发送可控缓冲无连接发送:可控缓冲无连接发送:可控收集无连接发送:可控收集无连接发送:dstadddstadd:指向目的指向目的socketsoc

47、ket地址的指针;地址的指针;addrlen addrlen:目的目的socketsocket地址长度;地址长度;message message:指向待发数据的指针。指向待发数据的指针。sendto(sockid,buff,length,flags,dstadd,addrlen)sendmsg(sockid,message,flags)2.2.接收数据接收数据 write(sockid,buff,length)send(sockid,buff,length,flags)sendto(sockid,buff,length,flags,dstadd,addrlen)writev(sockid,iovector,vectorlen)sendmsg(sockid,message,flags)readread()()readvreadv()()recvrecv()()面向连接面向连接无连接无连接recvfromrecvfrom()()recvmsgrecvmsg()()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁