在Python中创建可等待对象

1 投票
1 回答
651 浏览
提问于 2025-04-15 17:54

我大致知道怎么用select()来处理一堆套接字,只返回那些准备好读写的套接字。现在我正在做的项目里有一个叫'用户'的类。每个'用户'对象都有自己的套接字。我想做的是把一堆用户传给select(),然后得到一个只包含那些用户的列表,这些用户的socket是准备好读写的。你有什么建议可以让我开始吗?

编辑:把switch()改成了select()。我需要更仔细地校对。

1 个回答

2

你应该让你的 User 类里面有一个 fileno(self) 方法,这个方法的作用是返回 self.thesocket.fileno()。这样做是为了让 select 能在你自己定义的类上正常工作(在Windows上只针对套接字,在类Unix系统上可以是任意文件)。我不太明白 switch 是什么意思——我没有听说过它是Python的标准库(或者内置)的概念……?

撰写回答