|
10341| 0
|
uPyCraft-micropython教程之简单多路复用(使用Poll) |
|
多路复用是什么,细节就不去介绍了,请各位自行度娘。简单的解释就是同时管理多路IO的一种方式。 micropython提供了select和poll两种复用方式,官方推荐使用poll 实验目的: 创建两个socket,一个绑定在本机的3000端口,一个绑定在3001端口。在这两个socket上创建两个tcpServer。当任意一个tcpServer被连接后,向被连接方发送dfrobot + 系统时间的秒数。 请观众朋友们自行脑补一下,如果不用多路复用,这个功能是不是不太好实现。。。。 实验环境: 硬件: FireBeetle-ESP32或FireBeetle-ESP8266 x1 软件 uPyCraft V0.22及以上版本 time.sleep(5) 我们在这里加入了一个五秒钟的睡眠,方面用户测试同时有多路连接的情况,真正使用在项目中的时候,这句睡眠需要被删除掉 res = poller.poll(5000) 先上代码(esayPoll.py)如果这里复制有缩进问题,请从附件中下载代码 实验过程中,请随意点击连接按钮,ESP会将系统时间的秒数发送到这路连接。 两个秒数相同,说明是系统同时处理的;两个秒数不同,说明是分两次处理的 此图为楼主点击连接得到的打印 ![]() 此图为uPyCraft端的调试信息,也可清晰的看到是几路连接及连接处理情况 ![]() |
643 Bytes, 下载次数: 2291
沪公网安备31011502402448© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed