热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

知识点梳理_知识点梳理网络基础

本文由编程笔记#小编为大家整理,主要介绍了知识点梳理网络基础相关的知识,希望对你有一定的参考价值。2.网络基础端口:设备与外界通讯交流的出口osi七层协议:
本文由编程笔记#小编为大家整理,主要介绍了知识点梳理 网络基础相关的知识,希望对你有一定的参考价值。


2.网络基础
端口:设备与外界通讯交流的出口
osi七层协议:
应用层,
表示层,>> 应用层
会话层.
传输层
网络层
数据链路层
物理层 2者可以叫网络接口层
tcp :可靠的,面向连接的协议eg:打电话.传输效率低全双工通讯(发送缓存&接受缓存)面向字节流.
使用tcp的应用: web浏览器; 电子邮件,文件传输程序
udp: 不可靠的,无连接的服务,传输效率高(发送时延小),一对一,一对多,多对以,多对多,面向保温,无拥堵现象
使用udp的应用:域名系统:视频流;ip语音
黏包现象:同时执行多条命令之后,得到的结果很可能只有一部分,在执行其他命令的时候又接到之前执行的另一部分结果,
数据粘连在一起的现象就是黏包.
解决办法,加报头,struct
实际情况是 发送和接受方都存在缓存机制,数据存储在缓存区中,假设每次取得1024个数据,
就可能有些数据在缓存池中没有被get到,从而导致这种现象.
黏包现象只发生在tcp协议中:
1.从表面上看,黏包问题主要是因为发送和接受方的缓存机制,tcp协议面向流通信的特点
2.实际上,主要还是因为接受方不知道消息之间的界限,不知道一次性提取多少字节数据所造成的.udp中不存在这个现象
3.py2和py3的简单区别
1.编码和字符串问题:
字符串 py2中存在2种 unicode 用unicode存储 (str/bytes) 用字节存储
py3中 str 本质使用unicode存储
py3中 bytes 使用字节存储
编码:
py2 : = ascii
py3 : utf-8
以太网地址就是指MAC地址
2. 继承
py2中有2种继承类类型 经典类/新式类
继承原则 经典类 一条路走到黑,从左往右,不撞南墙不回头
py3中 只有一种继承类型
新式类,遵循c3算法
3.dhcp,自动为局域网内的电脑分配ip
4.网关,路由器中连接交换机的端口
5.ip,4个点分的十进制表示 192.168.13.128
6.子网掩码. 255.255.255.0
作用:将挡住的ip位数作为网段
未挡住的部分作为可变的值
7.局域网/广域网/城域网
8.arp协议 oSI模型有七层,TCP在第4层传输层,IP在第3层网络层,而ARP在第2层数据链路层
是根据IP地址获取物理地址的一个TCP/IP协议
9.dns:域名解析
10.列表生成式 v= [lambda x;x+i for i in range(10)]
11.操作系统/应用程序
a.硬件
- 硬盘,cpu,主板,显卡,内存,电源...
b.系统 :是程序员编写出来的软件,用于控制计算机的硬件,使其相互配合协调工作
12.进程,线程,协程的区别和练习
进程:进程即是正在执行的一个过程,进程是对正在运行程序的一个抽象,
进程是资源分配的最小单元,进城之间数据隔离
一个进程中最少有一个线程,可以有多个线程,进程中存在GIL全局解释器锁
作用是用于限制同一个时刻,一个进程中只有一个线程被cpu调度,.
默认gil锁在执行100个cpu命令后退出(过期时间)
如果是计算密集型操作,最好实用多进程可以提高效率
线程是cpu调度的最小单元,线程中数据共享threading.Thread(target= function, args=(i))
isAlive()返回线程是否活动
getName()返回线程名
setNmae()设置线程名
.current_thread() 主线程
threading,get_ident()获取当前线程id
ThreadPoolExecitor()
进程池,线程池
from concurrent .futures impoet ThreadPoolexecutor ,processpoolexecutor
pool = ProcessPool Exucutor(5)
pool = threapoolexecutor(5)
pool.submit(f,i)
cpu 计算io 操作,输入,输出,socket 终端命令 推荐使用多线程
多个线程共同一个进程的地址空间中的资源,是对一台计算机上多个继承的模拟,
有时也称线程为轻量级的进程
不同的进程之间是充满敌意的,彼此抢占,竞争cpu的关系,如 迅雷会和qq抢资源,
而同一个进程是由同一个程序员的程序创建,所有同一进程内的线程是合作关系,
一个线程可以访问另一个线程的内存地址,大家都是一家人,可以共享.
协程:是微线程,读一个线程进行微操作
































































































推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
author-avatar
左文欣936
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有