随笔分类 -  网络编程

摘要:IP地址进制转换 #!/usr/bin/env python # -*- coding:utf-8 -*- """ 1 # 转二进制用bin(int(x,n)) #用几进制转换n就是几 2 # 转八进制用oct(int(x,n)) #x位置放现有进制字符串 3 # 转十进制用int(x,n) 4 # 阅读全文
posted @ 2020-06-22 17:15 阿浪阿浪 阅读(956) 评论(0) 推荐(0)
摘要:路由概念(中国科普) 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程 。路由工作在OSI参考模型第三层——网络层的数据包转发设备。 路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大 阅读全文
posted @ 2020-06-22 14:14 阿浪阿浪 阅读(489) 评论(0) 推荐(0)
摘要:##1. A类地址 ⑴ A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节的最高位固定为0。 ⑵ A类地址范围:1.0.0.1到126.155.255.254。 ⑶ A类地址中的私有地址和保留地址: ①10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联 阅读全文
posted @ 2020-06-22 11:51 阿浪阿浪 阅读(1120) 评论(0) 推荐(0)
摘要:##ipaddress模块 IP地址目前存在两个版本:IPv4和IPv6,平常我们见到最多的就是IPv4了,如192.168.1.1/24,当然,IPv4地址池资源紧缺,IPv6已悄然大量部署了。 我们在设计网络架构时必须要对设备互联地址、环回地址、业务地址进行规划,那怎么规划?给你一个A类地址你怎 阅读全文
posted @ 2020-06-22 10:57 阿浪阿浪 阅读(836) 评论(0) 推荐(0)
摘要:队列 队列类似于一条管道,元素先进先出,进put(arg),取get() 有一点需要注意的是:队列都是在内存中操作,进程退出,队列清空,另外,队列也是一个阻塞的形态. 队列分类 队列有很多中,但都依赖模块queue 队列方式 特点 queue.Queue 先进先出队列 queue.LifoQueue 阅读全文
posted @ 2020-04-04 20:08 阿浪阿浪 阅读(176) 评论(0) 推荐(0)
摘要:HTTP协议 什么是HTTP协议 HTTP协议就是 超文本传输协议 这个协议规定了在链接的过程中,一次请求一次响应之后就断开链接,解释了HTTP协议就是一种无状态,短链接的协议 对于数据传输格式,都包含了头和体 在请求的过程中,包含了请求头和请求体,请求头和请求体之间 通过两个\r\n分隔,请求头和 阅读全文
posted @ 2019-12-16 21:15 阿浪阿浪 阅读(140) 评论(0) 推荐(0)
摘要:协程 1,定义: 协程:是单线程下的并发,又称微线程,纤程 协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的 python的线程属于内核级别的,即由操作系统控制调度,如果单线程遇到IO阻塞或者长时间CPU就会且走,执行其他程序 单线程开启协程,一旦遇到IO阻塞,就会从应用程序级别控制切 阅读全文
posted @ 2019-12-13 12:23 阿浪阿浪 阅读(157) 评论(0) 推荐(0)
摘要:Even事件 1,定义 同进程的一样 ,线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的 阅读全文
posted @ 2019-12-13 12:21 阿浪阿浪 阅读(191) 评论(0) 推荐(0)
摘要:1,堆栈结构 后进先出的队列 栈结构:其实就是一个后进先出的一个线性表,只能在栈顶压入或弹出元素 如何用列表实现栈 2,队列 队列,类似于栈 队列,其实就是一个先进先出的线性表,只能在队首执行删除操作,在队尾执行插入操作,用列表表示队列,可以用append()方法实现队尾插入元素,用pop(0)方法 阅读全文
posted @ 2019-12-13 12:19 阿浪阿浪 阅读(134) 评论(0) 推荐(0)
摘要:同步异步 1,同步 同步是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那个这个进程会一直等待下去,直到收到返回信息,才继续执行下去 2,异步 是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程 的状态,当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率 阅读全文
posted @ 2019-12-13 12:17 阿浪阿浪 阅读(143) 评论(0) 推荐(0)
摘要:多线程 1,GIL全局解释器锁 1. python GIL:(Global Interpret Lock)全局解释器锁 2. CPython解释器自动加载GIL锁,基于单核CPU的GIL锁,为了保证数据的安全,单个进程的多线程不能利用多核,即可以并发,但是不能并行,多个进程可以并发,并行 3. JP 阅读全文
posted @ 2019-12-13 12:13 阿浪阿浪 阅读(188) 评论(0) 推荐(0)
摘要:死锁现象与递归锁 1. 死锁: 是指两个或两个以上的进程或线程在执行过程中,因为争夺资源而造成的一种互相等待的现象,若无外力作用,他们都将无法推进下去,此时系统处于死锁状态或系统产生了死锁,这些永远在等待的进程称为死锁进程 2. 递归锁 1. 解决死锁现象的方法:就是递归锁 2. 同一把锁,引用一次 阅读全文
posted @ 2019-12-13 12:11 阿浪阿浪 阅读(111) 评论(0) 推荐(0)
摘要:线程 1,生产者消费者模型 1. 什么是生产者与消费者模型 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题,生产者和消费者之间不直接通讯,而通过阻塞队列来通讯,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力 在并发编程中使用生产者和消费者模式能够解决大多数并发问题,该模式 阅读全文
posted @ 2019-12-13 12:08 阿浪阿浪 阅读(388) 评论(0) 推荐(0)
摘要:互斥锁 锁:from multiprocessing import Lock,Lock即为锁 lock与join的区别 共同点:都可以把并发变成串行,保证了顺序 不同点:join人为设定顺序,lock让其争抢顺序,保证了公平性 进程之间的通信 1,基于文件通信 效率低 应用到了互斥锁:可以公平性的保 阅读全文
posted @ 2019-12-13 12:04 阿浪阿浪 阅读(182) 评论(0) 推荐(0)
摘要:多进程 1, multiprocessing模块介绍 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。 multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,提供 阅读全文
posted @ 2019-12-13 12:02 阿浪阿浪 阅读(189) 评论(0) 推荐(0)
摘要:进程 1,进程的基础 1. 程序 一堆静态的代码文件 2. 进程 一个正在运行的程序进程,抽象的概念 由操作系统操控调用与CPU运行 3. 操作系统 1. 管理控制协调计算机中硬件与软件的关系 2. 作用 1. 将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口 2. 多个进程抢占一个CPU时资源 阅读全文
posted @ 2019-12-13 11:51 阿浪阿浪 阅读(123) 评论(0) 推荐(0)
摘要:socket 1,定义 1. 套接字 1. 基于tcp协议 2. socket是基于应用层与传输层之间的抽象层,是一组操作起来非常简单的接口,接收应用层的数据,然后传给操作系统 2. 分类: 1. 基于文件类型的套接字家族:AF UNIX,不常用 2. 基于网络类型的套接字家族:AF INET 3. 阅读全文
posted @ 2019-12-13 11:49 阿浪阿浪 阅读(126) 评论(0) 推荐(0)
摘要:网络协议 1,七五协议 1. 应用层(表示层,会话层) 1. FTP协议:文件传输协议,工作TCP\IP模型的应用层,基于TCP的传输协议,面向连接的流式协议,提供可靠的数据传输 2. 规定应用程序的数据格式 2. 传输层 1. 端口协议:建立端口到端口的通行 2. TCP协议:面向链接的流式协议, 阅读全文
posted @ 2019-12-13 11:46 阿浪阿浪 阅读(112) 评论(0) 推荐(0)