- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第14章网络程序设计王雷春湖北大学
内容14.1网络协议14.2套接字编程14.3Web编程14.4典型案例
14.1网络协议14.1.1互联网协议族14.1.2TCP/IP
14.1.1互联网协议族要把全世界不同类型的计算机都连接起来,必须规定一套全球通用的通信协议,这就是互联网协议簇(InternetProtocolSuite,IPS)。互联网协议族中最具有代表性的:OSI(OpenSystemInterconnectionReferenceModel,开放系统互连参考模型)和TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)。OSI和TCP/IP及对应关系见表14.1(教材P258)。
14.1.2TCP/IP(1)TCP/IP中最重要的两个协议是TCP和IP。(2)IP负责把数据从一台计算机通过网络发送到另一台计算机上。由于网络链路复杂,两台计算机之间经常有多条线路。路由器负责决定如何把一个IP包转发出去。IP包的特点是按块发送,途经多条路由,但不保证能到达,也不保证按顺序到达。同一台计算机上运行着多个网络程序,每个网络程序都向操作系统申请唯一的端口号。两台计算机上的网络程序要建立网络连接就需要具有各自的IP地址和端口(Port)号。一个IP包除包含要传输的数据外,还包含源IP地址和目标IP地址、源端口和目标端口。
14.1.2TCP/IP(3)TCP建立在IP之上,负责在两台计算机之间建立可靠的连接,保证数据包按顺序到达。TCP通过握手(Handshake)建立连接,然后对每个IP包编号,确保对方按顺序收到。如果包丢掉了,就自动重发。许多常用的高级协议都建立在TCP的基础上,如用于浏览网页的HTTP、发送邮件的SMTP等协议。(4)UDP(UserDatagramProtocol,用户数据报协议)与TCP一样用于处理数据包,是一种无连接的协议。UDP提供数据包分组、组装,但不能对数据包进行排序。UDP用来支持那些需要在计算机之间传输数据的网络应用,主要作用是将网络数据压缩成数据包的形式。
14.2套接字编程14.2.1套接字简介14.2.2基于TCP的套接字编程14.2.3基于UDP的套接字编程
14.2.1套接字简介套接字是TCP/IP的一个封装,用于描述IP地址和端口。应用程序通常通过套接字向网络发出请求或者应答网络请求。套接字是一个软件抽象层,不负责发送数据,真正发送数据的是套接字后面的协议。套接字有B/S架构和C/S架构这两种,本质上都是客户端和服务端之间的数据通信。在Python中,使用socket()函数创建套接字,其一般格式如下:socket.socket([family[,type[,protocol]]])套接字函数分为服务器端套接字函数(见表14.2)、客户端套接字函数(见表14.3)、公共套接字函数(见表14.4)(教材P259)。
14.2.2基于TCP的套接字编程1.服务器端服务器端实现步骤如下。(1)创建套接字:使用serverSocket=socket.socket()函数完成。(2)绑定套接字:通过serverSocket.bind(IP,port)函数完成。(3)定义最多可容纳的等待接收的传入连接数:通过serverSocket.listen(n)函数完成。(4)进入阻塞状态:使用conn,addr=serverSocket.accept()函数完成,等待客户发起连接请求。(5)和客户端通信:通过send()、recv()函数和客户端通信。(6)关闭连接:通过连接对象的close()函数关闭连接。
14.2.2基于TCP的套接字编程2.客户端客户端实现步骤如下。(1)创建socket对象:使用clientSocket=socket.socket()函数完成。(2)客户端使用自己的socket对象连接服务端:通过clientSocket.connect(IP,port)函数完成。(3)和客户端通信:通过send()、recv()函数和服务器端通信。(4)关闭套接字:通过clientSocket.close()函数关闭套接字。
14.2.2基于TCP的套接字编程【例14.1】基于TCP套接字的服务器-客户端简单通信。服务器端程序代码:importsocketserverSocket=socket.socket() #创建套接字.serverSocket.bind((,12345)) #绑定套接字.
您可能关注的文档
- 光学-概念、公式.doc
- 广东工业大学《Python基础》第10章 异常处理和单元测试.pptx
- 广东工业大学《Python基础》第11章 数据库访问.pptx
- 广东工业大学《Python基础》第12章 图形用户界面编程.pptx
- 广东工业大学《Python基础》第13章 多进程和多线程.pptx
- 广东工业大学《Python基础》第1章 Python入门.pptx
- 广东工业大学《Python基础》第2章 Python基础.pptx
- 广东工业大学《Python基础》第3章 程序设计结构.pptx
- 广东工业大学《Python基础》第4章 组合数据.pptx
- 广东工业大学《Python基础》第5章 函数.pptx
- 广东工业大学《Python基础》第7章 模块、包和库.pptx
- 广东工业大学《Python基础》第8章 正则表达式.pptx
- 广东工业大学《Python基础》第9章 文件访问.pptx
- 中国人民大学《心理学与生活》课件-3心理的生理机制.pdf
- 2019-2020第二学期Python语言与系统设计(专业选修课)考试题-2020.6.28.pdf
有哪些信誉好的足球投注网站
文档评论(0)