1. 程式人生 > >twisted 12.0對windows iocp支援還是有問題

twisted 12.0對windows iocp支援還是有問題

2012-03-31

http://abloz.com author:ablozhou date:2012.3.31

實驗中,用twisted的iocp,和伺服器建立多個tcp長連線。然後持續傳送較小的包。如果壓力較小時,系統表現很正常。當壓力較大,如建立3000個以上的連線,持續傳送較小包,就會有包出錯。

相同程式,改成epoll,遷移到centos,建立5000個連線,持續壓力,一切正常。

我沒有定位具體原因。 C:Python26Libsite-packagestwistedinternetiocpreactortcp.py的writeToHandle函式,是直接呼叫_iocp.send的入口。這個地方增加的列印資訊顯示,包出錯了。 而在C:Python26Libsite-packagestwistedinternetiocpreactorabstract.py的doWrite是呼叫上述tcp.py的writeToHandle的入口。

據iteye網友說(http://mathgl.iteye.com/blog/1457556),這是因為ERROR_IO_PENDING引起的連線關閉所致。

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源