我在研究代理程序,看Workman代码Windows下用的是select模型,而且cpu占用很低,暂时还没看如何处理select循环的。我自己也写了个select模型的代码,但是CPU占用很高(大部分时间25%),于是和Workman比较,意外发现Workman的通信能力没我的强,经常有些连接卡在那里不收发数据,我猜测可能与处理select循环有关。测试用的火狐浏览器,客户端应该没问题。有空再测试下Linux版本。
很好奇楼主说的【通信能力强】是从哪些方面判定的……
是这样的,有些网速很慢的连接,workman会在数据没有收完时就会停止收,调试代码时发现select已经停止了。回头再研究原因。
貌似Linux版本也有类似情况(有些连接数据没传输完就停止收发了),不知道怎么回事。。。。暂时切回暴力select循环了,CPU反正不是我的。
很好奇楼主说的【通信能力强】是从哪些方面判定的……
是这样的,有些网速很慢的连接,workman会在数据没有收完时就会停止收,调试代码时发现select已经停止了。回头再研究原因。
貌似Linux版本也有类似情况(有些连接数据没传输完就停止收发了),不知道怎么回事。。。。暂时切回暴力select循环了,CPU反正不是我的。