Ano*_*ird 6 python sockets recvfrom
我想知道 python 中的 socket.recvfrom 是否是阻塞函数?我在文档中找不到我的答案 如果不是,如果什么都没有收到,会返回什么?空字符串 '' ? 在另一种情况下,如果实际上它是阻塞的,我该怎么做才能将其作为解锁功能?我听说过settimeout但我不知道它是否真的是正确的解决方案。
默认情况下它是阻塞的。它可以通过socket.setblocking(0)or (等效地)变成非阻塞socket.settimeout(0)。在这种情况下,如果没有任何东西可以接收,它将抛出socket.error异常。请参阅文档:https : //docs.python.org/2/library/socket.html#socket.socket.setblocking