twisted 12.0對windows iocp支援還是有問題
阿新 • • 發佈:2018-12-23
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協議,轉載請註明來源