由于厂里业务需要,我魔改了一个 http(s)的代理方案,服务器端我用 php+Workerman 已经写出来了+已经稳定了,客户端我也是用的 php+Workerman 也写出来并且验证可行了;但是客户端需要在安卓 /iOS 平台上运行,所以我必须在安卓 /iOS 上重写,目前进展缓慢所以暂时只考虑安卓。这个客户端的原理是这样的:
我先 tcp 连上123.123.123.123:62333
这个服务器地址,然后发个RID 12345
的握手包后,把这条待用 tcp 连接保存下来,这样的待用 tcp 连接开 20 条备用。然后等待来自这些待用 tcp 连接的 http/https 的请求,然后再根据请求中的 url 和目标网站建立新 tcp 连接最后把这对 tcp 连接相互 pipe 起来后就不管了,你可以把它当做一个魔改版的 http(s)代理服务器。由于需要同时保持几十条 tcp 连接,所以这里是异步实现的 tcp 连接(暂时不考虑线程池方案)。
我研究了很久安卓 /iOS 下的方案,没找到能用的库或者可以用来参考的例子,有大神可以给个思路么?