
48 Python网络编程(三)
48N6E
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2020/01/19 05-asyncio和aiohttp(面试问协程)
IO时间比较长,异步一般返回不是最终结果的结果(往往是给一个好牌,好了叫你)IO有两个阶段。在内核阶段,就绪好,搬到了用户空间阶段。异步IO是最高效的,asyncio在3.4的时候加入了标准库,基于selectors实现,看似库,其实是个框架。为什么要引入异步IO,先看例子加个time,就可以出现交替的情况,多线程真并行是不可预期的这个是多进程多进程,多线程,并行和串行,多进...原创 2020-01-20 14:13:02 · 549 阅读 · 0 评论 -
2020/01/16 04-IO多路复用版群聊实现
用select完成了对事件的监听,由它来监听关注的事件,但凡监控的某一个socket上面事件发生后,select就会结束阻塞,我们就会遍历拿到的这个列表,就可以找到发生的指定对象都是谁。如果要做操作,就可以在主从的时候传入data(类,对象,方法都可以)注册的时候,返回一个selectkey,里面包含4个信息fileobj 关注的socket文件对象fd 文件描述符events 关注哪...原创 2020-01-19 16:20:08 · 201 阅读 · 0 评论 -
2020/01/16 03-IO多路复用库selectors使用
socket和server这样的底层库,只有特别注重效率的时候,才使用,不过推荐用C**主要是select和poll是线性遍历的,在内存中,消息需要大量的复制,使用这样的方式,在soskcet不断接受数据,大量数据需要从用户控件到达内核空间,来回浪费大量系统资源,最好的是选择当前操作系统最强的一种IO模式来编程,比如Linux的EPOLL**提供了一个DefaultSelector,返回...原创 2020-01-16 21:49:11 · 231 阅读 · 0 评论 -
2020/01/16 02-同步异步阻塞非阻塞概念和各种IO模型
函数或方法被调用,调用者是否得到最终结果。直接能拿到最终结果,就是同步调用;不直接拿到最终结果,就是异步调用。跟阻塞是两回事,只看结果**同步就是我让你打饭,你不打好给我不走开,直到你打饭给了我。异步就是我让你打饭,你打着,我不等你,但是我会盯着你,你打完,我会过来拿走的。异步并不保证多长时间最终打完饭(并不保证立即获得结果)。**之前的currcent.future,这个就是异步...原创 2020-01-16 16:13:45 · 159 阅读 · 0 评论 -
2020/01/15 01-socketserver版群聊实现
**socket库本身太过于低级,太过于原始,所以python在原始的socket编程上做了封装,用起来比较方便,这个封装代表python整个流派风格。**sockserver有自己的继承关系从最底层的BaseServer做完善子类TCPServer,UDPServer是同步 ,用的比较多引出了UnixStreamServer,UnixDatagramServer同步就要等前面的链接...原创 2020-01-16 11:36:12 · 214 阅读 · 0 评论