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