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

关于 url 替换地址并转向问题

  •  
  •   yjd · 2014-08-04 16:33:02 +08:00 · 2519 次点击
    这是一个创建于 3784 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务器上开游戏服务端,自带配置有个参数设置 http://xxx/ 的地址供客户端进入后下载地图。
    客户端进入后会请求 http://xxx/123.wd 的地址下载地图。

    目的:我想实现客户端进入后,随机替换上面xxx域名把客户端导向从其他地址下载(地址从google搜索抓取),实现玩家进入随机从不同地址下载地图文件。(问题根源是服务端上行太慢-_-!!)

    刚开始以为做个301,302跳转就可以,后来测试是不行。游戏客户端不支持这样。请问还有什么办法?

    有点类似cdn,把来源请求导向不同的节点去下载,我试用过cdn是可行。因为他域名是固定的。也就是上面的xxx设置成cdn给出的域名。而我是要域名随机。

    还想到2种方案:
    1,修改游戏服务端内存实现随机替换那个域名
    2,注入游戏服务端修改发回客户端的封包替换域名
    --如果有种可行的url替换转向方案就不考虑这2种太暴力,能不能成功还未知。

    请问怎么解决url转向或其他方法?
    4 条回复    2014-09-21 19:32:17 +08:00
    SoloCompany
        1
    SoloCompany  
       2014-08-04 23:43:06 +08:00   ❤️ 1
    为何一定要依赖服务器跳转?客户端跳转不行吗?先请求服务器入口地址,服务器返回跳转地址,客户端再主动请求跳转后的地址
    yjd
        2
    yjd  
    OP
       2014-08-05 09:31:10 +08:00
    @SoloCompany 游戏是fps类游戏也就是说客户端是大家网上下载从互联网刷到我的服务器,不受我控制。不能在客户端实现。
    yjd
        3
    yjd  
    OP
       2014-08-25 23:46:40 +08:00
    玩家进入请求同一个网址(反向代理服务器)
    反向代理再去获取原始资源(把google抓取的地址看作后端多台服务器)

    不过看了下反向的介绍:
    -------------------------------
    反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

    从这里来看所有流量还是走了同一个服务器反向代理来转发数据。悲催
    yjd
        4
    yjd  
    OP
       2014-09-21 19:32:17 +08:00
    最后写了个dll用劫持,修改服务端内存实现了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2501 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:36 · PVG 19:36 · LAX 03:36 · JFK 06:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.