2014-04-30 26 views
1

我想在阻塞模式下啓動對話,然後切換到非阻塞狀態。
這是一個愚蠢的想法?在python套接字之間切換阻塞和非阻塞

Python文檔是種曖昧一下,有這樣說的:

...你這樣做[setblocking(0)創建套接字後,但在使用它之前。 (實際上,如果你是堅果,你可以來回切換。)

我看這是「請不要那樣做」,所以如果有原因,爲什麼它不鼓勵我想知道。
是否有某種未定義的行爲,我可以遇到什麼問題?

回答

0

是的,你可以做到這一點,但大多數人會做多個阻塞套接字線程或多個非阻塞套接字事件循環。但切換中間應該沒有問題,只要不在緩衝和非緩衝I/O之間切換即可。

0

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

在它們之間切換會讓你的程序過於複雜。