首页 > 其他分享 >TCP协议及socket模块

TCP协议及socket模块

时间:2022-11-16 20:36:58浏览次数:38  
标签:协议 socket object TCP 模块 连接 客户端

昨日内容回顾

  • 软件开发架构分类

    C/S架构 需要下载专门的客户端,客户端高度定制化。

    B/S架构 浏览器充当客户端,可以连接多个服务端,但是无法实现个性化的功能。

  • 网络编程基础知识

    网络编程主要目的是实现数据的远程交互,基本条件是物理连接。

  • OSI七层模型

    应用层(展示层、会话层)、传输层、网络层、数据链路层、物理层

  • 网络相关常见名词

    交换机、广播、单播、广播风暴、局域网、路由器、URL(实质是IP+端口号)。

  • 各种常用协议

    以太网协议(数据链路层):计算机出场必须赋有其特征序列号,即物理地址。

    IP协议(网络层):计算机接入互联网必须依靠特定的IP地址。

    PORT协议(传输层):计算机上运行的程序都会被分配一个端口号,自定义程序使用8000后。

    ARP协议:可以通过IP地址解析出访问者的物理地址。

今日内容概要

  • TCP协议/UDP协议
  • socket模块

今日内容详细

TCP协议/UDP协议

TCP协议下数据传输的执行流程:

建立连接时:

客户端—发送建立连接申请(SYN)→
服务端—同意申请并发送建立连接申请→
客户端——同意连接申请,建立连接

结束连接时:

客户端—发送连接结束信号(FIN)→
服务端——接收结束信号,检测数据传输是否完成——确认完成传输,发送结束连接信号—→
客户端——收到结束信号,断开连接

TCP协议传输的特点

  • 可靠性

    TCP协议连接下的计算机在数据传输时,若在固定时间内没有收到反馈,则会对数据进行重新传送。

  • 同时连接数有限

    TCP协议下由于计算机的连接是相互关联并反馈的,同时硬件水平是有上限的,所以同时连接数过多时,会导致服务端负担过大甚至崩溃。因此一般服务器要设定缓冲带,限制同时访问量。

UDP协议特点

又称数据报协议,传输数据时仅负责发送,不做其他相关操作。

socket模块

socket模块基础知识

socket类似于操作系统,为用户提供了在应用层与其他层之间的便捷操作。

socket又叫套接字,分为两种,一种是基于文件类型的AF_UNIX,另一种是基于网络类型的AF_INET。

socket模块用法

object = socket. socket() 创建新的socket对象并返回,不指定通信版本和协议时默认使用TCP。

object. bind() 为生成的对象绑定IP地址。

object. connect() 使用该对象与指定IP地址连接。

object. listen() 为对象建立半连接池。

object. close() 删除生成的socket对象。

sock,addr = object. accept() 建立与链接对象的通道并返回该通道及对象地址。

sock. recv() 接收通道收到的信息并返回,结果为字节类型。括号内填入最大接收信息的大小。

sock. send() 通过通道向正在连接的地址发送信息,信息必须为字节类型。

sock. close() 关闭该对象与其所连接的对象的通道。

标签:协议,socket,object,TCP,模块,连接,客户端
From: https://www.cnblogs.com/akazukis/p/16897398.html

相关文章