IO模型
2018-06-18 02:42:33来源:未知 阅读 ()
解决问题是:服务端,网络IO
知识点回顾
from threading import Thread from socket import * def talk(conn): while True: try: data = conn.recv(1024) if not data: break conn.send(data.uuper()) except ConnectionResetError: break conn.close() server = socket() # 默认TCP server.bind(('127.0.0.1', 8080)) server.listen(5) # 链接 while True: conn, addr = server.accept() print(addr) # 通信 t = Thread(target=talk,args=(conn,)) t.start() server.close() # 复习 from gevent import monkey,spawn;monkey.patch_all() import time def f1(): print('from f1 1') time.sleep(3) print('from f1 2') def f2(): print('from f2 1') time.sleep(2) print('from f2 2') def f3(): print('from f3 1') time.sleep(5) print('from f3 2') g1=spawn(f1) g2=spawn(f2) g3=spawn(f3) # 让主线程等任务执行完 g1.join() g2.join() g3.join() from gevent import monkey,spawn;monkey.patch_all() from socket import * def talk(conn): while True: try: data = conn.recv(1024) if not data: break conn.send(data.upper()) except ConnectionResetError: break conn.close() def server(ip,port,backlog=5): s = socket() # 默认TCP s.bind((ip, port)) s.listen(backlog) # 链接 while True: conn, addr = s.accept() print(addr) # 通信 g = spawn(talk,conn) # g.join() # 因为通信里有IO,主线程不需要另外等待的任务 server.close() if __name__ == '__main__': server('127.0.0.1',8080)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- linux安装 uwsgi 测试 test.py 不显示hello world 的解决办 2019-08-13
- 解决python中的Non-UTF-8 code starting with ‘\xbs4’ in 2019-07-24
- python 之 并发编程(生产者消费者模型、守护进程的应用) 2019-07-24
- 文本分类问题相关原理知识 2019-07-24
- Python 用(无脑 and 有脑)方式解决小练习 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash