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