我想知道python中的socket.recvfrom是不是一个阻塞函数?我在documentation中找不到我的答案,如果不是,如果什么都没有收到会返回什么?空字符串'‘?在另一种情况下,如果它实际上是阻塞的,我如何将其作为一个解锁函数?我听说过settimeout,但我不知道它是否真的是正确的解决方案。
发布于 2015-07-02 00:17:39
默认情况下,它是阻塞的。它可以通过socket.setblocking(0)或(等效) socket.settimeout(0)转换为非阻塞。在这种情况下,如果没有要接收的东西,它将抛出socket.error异常。请参阅文档:https://docs.python.org/2/library/socket.html#socket.socket.setblocking
https://stackoverflow.com/questions/31166594
复制相似问题