XndroidDev
XndroidDev
GooglePlay 没有测试, 可能也是因为重复请求造成的吧
如果是由于大网络延时造成的应用重复网络请求,解决办法就是更换更快的梯子
某些场景下,当应用断开了之前的http连接后, fqrouter的http代理仍然会继续接收完完整的http response, 在get较大文件时比较明显
fqrouter中有做异常处理, 为什么会这样还不清楚 https://github.com/XndroidDev/Xndroid/blob/8fde138f2ebab7e793594d591fa7097e5c0adb02/fqrouter/manager/fqsocks/gateways/proxy_client.py#L138
我在循环recv时加了打印, 似乎并不是这里的问题
@SeaHOH 昨天的那个问题是因为服务器错误地将content_type 设为 'text/html', 导致fqrouter尝试一次性接收完响应. https://github.com/XndroidDev/Xndroid/blob/8fde138f2ebab7e793594d591fa7097e5c0adb02/fqrouter/manager/fqsocks/proxies/http_try.py#L428 但这个并不是主要问题, 我在手机上通过fqrouter的http代理使用PC上的XX-Net, 使用国产手机浏览器(如夸克,UC) 播放youtube时, 手机上的实时网速正常; 而PC上的下载网速会不正常的变快. 具体观察PC上XX-Net的python进程, 发现其下载流量为上传流量的3倍左右, 并且在频繁快进或快退播放时其比值会加大. 而使用chrome或基于系统webview的手机浏览器则未发现此问题. 因此主要问题很可能在XX-Net上.
@xxnet @SeaHOH 当应用断开连接时, XX-Net的RangeFetch仍然会持续一段时间. 且在应用多线程get时, XX-Net的下载流量看上去是"突发性"的(持续时间较短, 且下载网速很快), 而将响应数据传给应用时的流量则是持续性的(上传网速较慢, 且持续时间较长). 在国产浏览器中, 播放时会多线程get, 如果播放顺利且无快进快退, 则XX-Net的(从Google服务器的)下载流量与(将响应传给应用的)上传流量基本一致. 但如果播放时快进或快退或播放出现问题, 则XX-Net的下载流量会数倍于上传流量.
我在手机浏览器上都发现用到了RangeFetch
@subtank 在fqrouter代理列表中将http代理ip改为电脑ip即可
@subtank 可以