12-4中演示事件循环和同步效率出错。

来源:12-4 select+回调+事件循环获取html-2

慕粉172708958

2018-05-27

12-4中演示同时获取20个网页,使用时间循环和同步两种方式之间的效率差异。

提醒出错  KeyError: ' xx (FD xx) is alreadly registered'

其中xx在我的电脑上显示的是208,而我获取的url的地址结尾就是xx.xx.xx.208,是一个内部网站的地址

想请问一下,这是什么错误?什么情况下会出现?如何解决?

写回答

4回答

慕粉172708958

提问者

2018-05-28

看不清楚啊,还是算了,主要就是提示。

fetcher.get(url)出错

selector.register(self.client.fileno(),  EVENT_WRITE,  self.connect)出错

key = super().register(filenobj, events, data)出错

.format(fileobj, key.fd)出错

KeyError:'208 (FD208) is already registered'

0
0

慕粉172708958

提问者

2018-05-28

这个图
//img.mukewang.com/szimg/5b0b745800011a6606610223.jpg

0
1
bobby
从报错来看是反复注册了同一个socket 可能是你的代码有问题,你可以比对我提供的源码 运行试试我提供的源码
2018-05-30
共1条回复

慕粉172708958

提问者

2018-05-28

就是这个,提示重复注册。
//img.mukewang.com/szimg/5b0b73c000015af906600409.jpg

0
0

bobby

2018-05-28

你截图我看看具体的错误栈信息呢

0
0

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程