![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 84
zh__quan
这个作者很懒,什么都没留下…
展开
-
(七)信号,信号量,同步异步,锁,线程笔记
信号 一个进程向另一个进程通过信号传递某种讯息,接收方在接收到信号后进行相应的处理 查看信号:kill -l kill -signum PID 给PID的进程发送一个信号 import os from time import sleep while True: sleep(2) print("Running the process",os.getpid()) # 另开...原创 2018-07-16 19:16:19 · 407 阅读 · 0 评论 -
(三)HTTP请求,IO,位运算
前情回顾 1. recv和send特性 2. tcp 粘包 处理粘包的方法 3. udp 套接字使用 recvfrom sendto 4. 套接字属性 fileno getpeername setsockopt 5. 广播 6. HTTP协议 * 什么是http协议 * http协议的使用过程 * HTTP协议的特点 ***************...原创 2018-07-14 18:01:20 · 702 阅读 · 0 评论 -
(二)udp,tcp粘包,广播,HTTP
recv()特征 1.如果连接端断开,recv会立即结束阻塞返回空字符串 2.当接收缓冲区为空时会阻塞 3.如果recv一次接收不完缓冲区内容,下次会继续接收,确保数据不丢失 send()特征 1.如果另一端不存在还试图使用send进行发送,则会产生BrokenPeError异常 2.当发送缓冲区满时会阻塞 网络收发缓冲区 *缓冲区的功能 :协调读写速度,减少和磁盘交互 recv 和 send ...原创 2018-07-14 17:27:35 · 369 阅读 · 0 评论 -
(一)基本概念,socket,tcp
网络编程 网络目的 : 数据的传输 网络数据传输是一个复杂的过程 ISO: 国际标准化组织 OSI 七层模型 -->> 网络通信标准化流程 应用层 : 提供用户服务,具体内容由特点程序规定 表示层 : 数据的压缩优化 会话层 : 建立应用连接,选择传输层服务 传输层 : 提供不同的传输服务,流量控制 网络层 : 路由选择,网络互连 链路层 : 提供链路交换,具体消息以帧发送 物...原创 2018-07-14 16:52:43 · 328 阅读 · 0 评论 -
网络编程笔记
1------------------------------------ 'localhost' '127.0.0.1' 只在本地测试使用 '0.0.0.0' '' '本机IP' 如果想咋网络上进行测试 查看IP网络信息 linux ifconfig win ipconfig 获取计算机名称 In [2]: socket.gethostname() Out...原创 2018-07-28 16:01:17 · 115 阅读 · 0 评论 -
(六)进程,多进程,进程池,进程间通信
通常使用multiprocessing创建进程,父进程只用作进程的创建和回收,不做其他工作。 multiprocessing 进程对象属性 p.start() 启动进程 p.join() 回收进程 p.is_alive() 判断进程生命周期状态 返回True False p.name 进程名称 默认为Process-1 如果起名字则为自定义名称 p.pid 创建的进程的PID p.daemon...原创 2018-07-14 10:06:45 · 318 阅读 · 0 评论 -
(八)线程通信,服务器模型
线程通信 通信方法 : 多个线程共用进程空间,所以进程的全局变量对进程内的线程均可见。因此使用全局变量通信是线程主要通信方法 注意事项 :线程间通信更容易产生资源争夺,往往需要同步互斥机制做为通信的安全保证 线程的同步互斥 线程的Event事件 操作: e = threading.Event() e.wait([timeout]) 如果e为设置状态则不阻塞,未...原创 2018-07-17 19:36:51 · 116 阅读 · 0 评论 -
(四)poll,epoll,本地套接字,多任务编程,父子进程
poll from select import poll 1.创建poll对象 p = poll() 2.添加关注的IO poll IO事件分类 POLLIN POLLOUT POLLERR POLLHUP POLLPRI POLLVAL rlist wlist xlist 断开连接 紧急处理 无效 p.register(s,POLLIN | POLLERR)...原创 2018-07-17 14:28:10 · 276 阅读 · 0 评论 -
(五)进程相关函数,孤儿进程,僵尸进程
进程相关函数使用 os.getpid() 功能:获取当前进程的PID号 返回值:返回PID号 os.getppid() 功能:获取父进程的进程号 返回值:返回PID号 os._exit(status) 功能:退出进程 参数:进程的退出状态 整数 import os pid = os.fork() if pid < 0: print("Create Process fa...原创 2018-07-26 08:30:04 · 200 阅读 · 0 评论