用POLL的方式,没有跑出结果来,立此存照
2024-09-20 11:18:50
咦,这些内容,和我以前看内核时的东东,对应起来了。。
SELECT,POLL,EPOLL,非阻塞,异步之类的。。。
但我没有调出来。回家有空了可以看看,不用再敲打代码啦。。。
#!/usr/bin/env python import socket, sys, select port = 54321 host = '127.0.0.1' spinsize = 10 spinpos = 0 spindir = 1 def spin(): global spinsize, spinpos, spindir spinstr = '.' * spinpos + \ '|' + '.' * (spinsize - spinpos -1 ) sys.stdout.write('\r' + spinstr + ' ') sys.stdout.flush() spinpos += spindir if spinpos < 0: spindir = 1 spinpos = 1 elif spinpos >= spinsize: spinpos = 2 spindir = -1 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) p = select.poll() p.register(s.fileno(), select.POLLIN | select.POLLERR | select.POLLHUP) while 1: results = p.poll(50) if len(results): if results[0][1] == select.POLLIN: data = s.recv(4096) if not len(data): print "\rRemote end closed connection; exiting." break sys.stdout.write("\rReceived: " + data) sys.stdout.flush() else: print "\rProblem occurred; exiting." sys.exit(0) spin()
最新文章
- 【BZOJ-3514】Codechef MARCH14 GERALD07加强版 LinkCutTree + 主席树
- DOS tasklist 命令(转)
- Linq To Entities 及其相关(进阶)
- cctype函数 (字符类型判断)
- 5. Fragment详解
- Unicode转为UTF8
- django 学习-11 Django模型数据模板呈现
- poj2391,poj2455
- 【Java基础】基本类型的包装类作为参数传递是值传递还是引用传递
- 整合 新浪 腾讯 人人 qq空间 分享地址
- 【写一个自己的js库】 4.完善跨浏览器事件操作
- Laravel生命周期
- Canvas实现3D效果-可旋转的立方体
- adoquery.refresh和adoquery.query的区别
- 美国主机BlueHost vs HostEase
- Python Socket 编程详细介绍(转)
- 在已配置成功的opencv3.2.0下配置opencv_contrib模块
- selenium2.0关于python的常用函数
- hadoop生态搭建(3节点)-13.mongodb配置
- MQTT的学习之Mosquitto安装&;使用(1)
热门文章
- linux内核分析系列--百度
- Controller里写自己需要的Action,参数的名字必须和路由设置的参数名一致
- Silverlight实用窍门系列:47.Silverlight中元素到元素的绑定,以及ObservableCollection和List的使用区别
- jquery自调用匿名函数解析
- js--小结⑤
- H TML5 之 (6)下雨效果
- IIS 上发布ASP.NET5
- 什么时候用using (SPSite site = new SPSite(SPContext.Current.Web.Url))
- Java SpringMvc+hibernate架构中,调用Oracle中的sp,传递数组参数
- MyBatis的学习总结四:实现关联表查询【参考】