easysocket —— 轻量级网络库
easysocket 是为 MicroPython 设计的轻量级、非阻塞、事件驱动网络库。它封装了原始 socket 操作与 select.poll 机制的复杂性,提供简单的回调式 API。目前支持 TCP(传输控制协议)用于构建健壮的客户端与服务器,未来版本计划支持 UDP(用户数据报协议)。
特性
非阻塞与事件驱动:基于
select.poll()机制,所有 socket 操作为非阻塞。事件通过周期性调用check_event()分发,避免网络 I/O 阻塞主线程——非常适合 MicroPython。回调式:为客户端(
on_connect、on_data_received、on_disconnect)和服务器(on_client_connect、on_data_received、on_client_disconnect)提供简洁的事件钩子。回调通过micropython.schedule安全调度。高度抽象:初始化时自动连接/监听。服务器端的客户端连接会被封装为
EasyTCPClientSocket对象,便于管理。并发:
EasyTCPServer可同时处理多个客户端连接,并管理每个会话的生命周期。健壮性:处理非阻塞错误(如
EAGAIN),并在断开连接时确保资源正确清理(关闭 socket、取消 poll 注册)。