我在研究代理程序,看Workman代碼Windows下用的是select模型,而且cpu占用很低,暫時還沒看如何處理select循環(huán)的。我自己也寫了個select模型的代碼,但是CPU占用很高(大部分時間25%),于是和Workman比較,意外發(fā)現(xiàn)Workman的通信能力沒我的強,經(jīng)常有些連接卡在那里不收發(fā)數(shù)據(jù),我猜測可能與處理select循環(huán)有關(guān)。測試用的火狐瀏覽器,客戶端應(yīng)該沒問題。有空再測試下Linux版本。
很好奇樓主說的【通信能力強】是從哪些方面判定的……
是這樣的,有些網(wǎng)速很慢的連接,workman會在數(shù)據(jù)沒有收完時就會停止收,調(diào)試代碼時發(fā)現(xiàn)select已經(jīng)停止了?;仡^再研究原因。
貌似Linux版本也有類似情況(有些連接數(shù)據(jù)沒傳輸完就停止收發(fā)了),不知道怎么回事。。。。暫時切回暴力select循環(huán)了,CPU反正不是我的。