2014-04-30 28 views
1

我想在阻塞模式下启动对话,然后切换到非阻塞状态。
这是一个愚蠢的想法?在python套接字之间切换阻塞和非阻塞

Python文档是种暧昧一下,有这样说的:

...你这样做[setblocking(0)创建套接字后,但在使用它之前。 (实际上,如果你是坚果,你可以来回切换。)

我看这是“请不要那样做”,所以如果有原因,为什么它不鼓励我想知道。
是否有某种未定义的行为,我可以遇到什么问题?

回答

0

是的,你可以做到这一点,但大多数人会做多个阻塞套接字线程或多个非阻塞套接字事件循环。但切换中间应该没有问题,只要不在缓冲和非缓冲I/O之间切换即可。

0

阻塞和非阻塞套接字是不同的编程模型。

在它们之间切换会让你的程序过于复杂。