Web项目怎么实现客户端一次请求,服务端多次返回结果? 400 请求报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Web项目怎么实现客户端一次请求,服务端多次返回结果? 400 请求报错 

kun坤 2020-05-28 19:46:50 79

做游戏的后台管理,问题举个例子描述下:后台实现向多个游戏服务器发送一条消息,因为发送的目标区服可能很多,所以需求将每个游戏服的执行结果一条一条地返回展示到后台界面上。客户端用"1-12,50-100.."这种表示区服的格式请求一次,然后后台服务器收到消息解析目标游戏服务器区服并建立连接发送消息,并将收到的返回结果(超时也返回)展示到客户端。

分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-05-29 11:06:52

    使用多线程,应该可以实现你的要求!!!######愿闻其详。###### http是不行的...

    ######   客户端是什么? 是浏览器还是一个专用的客户端程序? 如果一定要使用 http,试试 websocket,否则可以使用 socket。######回复 @marsyung : websocket也是浏览器的. 但得支持才可以.######浏览器的,感谢帮助!###### http一次请求,接收服务端多次响应,是肯定行不通的。
    但是可以给你一个折中方案,启动一个线程池,多线程发送http请求,主线程阻塞掉,直至所有子线程治理完毕,然后统一处理返回结果;
    另外,如果需要一次请求多次相应的话,最好是用nio来做比较好。 ######推送。。。######今天网上收集了WebSocket的相关资料,总结下来用WebSocket确实能达到“客户端一次请求,服务端多次返回”的效果,但用WebSocket就跟项目运用的JFinal框架不兼容,会被绕过JFinal实现了的拦截器(权限认证)。毕竟WebSocket不够成熟。###### 做个类似代理的东西?
    浏览器访问代理,由代理服务器去替代浏览器向多个服务器发起请求,最后汇总,返回。
    如果想返回一条显示一条,则每次代理服务器返回都包括剩余未接收请求数,浏览器则根据剩余请求数量一一发起 多次请求。
    浏览器 可以用EventSource或者心跳######你提供的方法是轮询的机制吧,用这套方法就可以达到目的也能兼容JFinal,不过暂且用WebSocket实验,后期考虑改成轮询。######参考facebook的bigpipe技术,java实现版本

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章