V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gouchaoer
V2EX  ›  问与答

请教一下安卓/iOS 码农这个异步的 socket 操作该怎么完成

  •  
  •   gouchaoer · 2017-03-09 15:23:53 +08:00 · 1649 次点击
    这是一个创建于 2801 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于厂里业务需要,我魔改了一个 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 下的方案,没找到能用的库或者可以用来参考的例子,有大神可以给个思路么?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.