easysocket —— 轻量级网络库

easysocket 是为 MicroPython 设计的轻量级、非阻塞、事件驱动网络库。它封装了原始 socket 操作与 select.poll 机制的复杂性,提供简单的回调式 API。目前支持 TCP(传输控制协议)用于构建健壮的客户端与服务器,未来版本计划支持 UDP(用户数据报协议)。

特性

  • 非阻塞与事件驱动:基于 select.poll() 机制,所有 socket 操作为非阻塞。事件通过周期性调用 check_event() 分发,避免网络 I/O 阻塞主线程——非常适合 MicroPython。

  • 回调式:为客户端(on_connecton_data_receivedon_disconnect)和服务器(on_client_connecton_data_receivedon_client_disconnect)提供简洁的事件钩子。回调通过 micropython.schedule 安全调度。

  • 高度抽象:初始化时自动连接/监听。服务器端的客户端连接会被封装为 EasyTCPClientSocket 对象,便于管理。

  • 并发EasyTCPServer 可同时处理多个客户端连接,并管理每个会话的生命周期。

  • 健壮性:处理非阻塞错误(如 EAGAIN),并在断开连接时确保资源正确清理(关闭 socket、取消 poll 注册)。

Classes