随笔分类 - 网络编程
摘要:一、什么是dll动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL)是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是 ”.dll"、".ocx"(包含ActiveX控制的库)或者 ".drv
阅读全文
摘要:IO模型 常见的网络罗阻塞状态 accept recv recvfrom send虽然也有io形为,但是不在我们的考虑范围内 阻塞IO 我们之前写的都是阻塞IO模型,协程除外。在服务端开设多进程或着多线程,进程池线程池,只是多个人一起等待,该等的地方还是得等,没有解决io问题 非阻塞IO 从图中可以
阅读全文
摘要:死锁 死锁是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程 from threading import Thread, Lock import time
阅读全文
摘要:开启线程的两种方式 from threading import Thread import time def task(name): print('%s is running'%name) time.sleep(1) print('%s is over'%name) # 开启线程不需要在main下面
阅读全文
摘要:服务端 from multiprocessing import Process from threading import Thread import socket def lunch(conn): while True: res = conn.recv(1024) if len(res) == 0
阅读全文
摘要:必备知识 计算机又叫电脑,即通电的大脑,发明计算机是为了让他通电之后能够像人一样去工作,并且它比人的工作效率更高,因为可以24小时不间断 计算机五大组成部分 控制器 运算器 存储器 输入设备 输出设备 计算机的核心真正干活的是CPU(控制器+运算器=中央处理器) 程序要想被计算机运行,它的代码必须要
阅读全文
摘要:服务端 import json,struct,os from socket import * sever = socket(AF_INET,SOCK_STREAM) sever.bind(('127.0.0.1',8080)) sever.listen(5) # 图片的路径: image_path
阅读全文
摘要:粘包问题出现的原因 服务端把要发送的数据送到服务端的缓存,通过网卡把数据从服务端的缓存到客户端的缓存,反过来同理。 而且这种数据流的交互是在两个不同的单向链接中进行,本身互不影响。 粘包问题当我们服务端要给客户端回一个非常大的数据,但是客户端的最大接受量只设置了1024,这时候客户端只会接受服务端数
阅读全文
摘要:socket 什么是socket 1 socket是应用层与TCP/IP协议(传输层,网络层)的中间抽象层,它是一组接口 2 在设计模式中,socket其实就是一个门面模式,它把复杂的TCP/IP协议隐藏在socket接口后面对于设计程序的用户来说,只需要使用socket组织数据,来符合指定协议即可
阅读全文
摘要:CS架构与BS架构 Client < > Server''' 客户端软件send 服务器软件recv 操作系统 操作系统 计算机硬件 < 物理介质 > 计算机硬件 '''Browser< >Server浏览器 < > 服务器 网络通信 网络存在的意义就是跨地域数据传输=》称之为通信网络=物理链接介质
阅读全文

浙公网安备 33010602011771号