Python- select()是否适用于UDP函数(recvfrom()和sendto())?

时间:2016-02-15 18:25:16

标签: python sockets select udp

来自select.select()模块的select函数是否适用于UDP函数 - recvfrom()sendto()? 我想让程序使用select函数,我知道它适用于TCP函数 - send和recv但我想构建使用select函数的UDP服务器。

那么,使用UDP函数selectrecvfrom处理sendto函数是否可行?

1 个答案:

答案 0 :(得分:2)

是的,Python的select()函数适用于UDP和TCP套接字。为了解决对user_ABCD的注释的后续跟踪,使用UDP套接字,select()返回与TCP套接字相同的信息。

来自documentation

  

返回值是准备好的对象列表的三倍:   前三个参数的子集。达到超时时   如果没有文件描述符准备就绪,则会有三个空列表   返回。

如果将参数传递给包含UDP套接字的select(),那么这些套接字将包含在返回列表中,如果它们实际上已准备好被读取或写入。