首页 新闻 会员 周边 捐助

关于Http请求数据的返回

0
悬赏园豆:20 [待解决问题]

我有一个问题困扰好久了,一直不知道有什么比较好的方式解决,还请各位大神多指点一下。

假设有客户端A,服务端B,服务端C三个程序。服务端B主要通过Http请求为客户端A提供数据。但是某些数据的提供又需要去服务端C获取,服务端B和服务端C的通信不是同步的。

那么问题来了,当A向B发起请求的时候,B收到A的请求之后,必须去C获取数据,当收到C回发的数据的时候,B如何找到A发过来的请求,并把数据回发给A呢??

还请各位大神指点一下,真的不知道怎么处理比较好?谢谢各位了!

凌风有约的主页 凌风有约 | 初学一级 | 园豆:132
提问于:2015-11-17 09:42
< >
分享
所有回答(1)
0

如果服务的处理时间不长,B,C之间的异步可以采用轮询或事件触发的形式获取结果

如果长的话,HTTP的超时就限制了,一般一个请求中完成不了,那么需要在A B上加入会话的暂存信息,由A再次发起会话获取结果

2012 | 园豆:21645 (高人七级) | 2015-11-17 10:06

B,C之间是采用Socket类的长连接方式。你所谓的轮询,是B收到A请求的时候,并且向C发出请求之后,阻塞当前请求线程,不断去轮询C是否返回了结果吗?

嗯,我指的是可以在一个请求中完成的处理,不是指分多个请求的处理。

支持(0) 反对(0) 凌风有约 | 园豆:132 (初学一级) | 2015-11-17 11:55

@凌风有约: 一个请求中完成,不断去轮询C是否返回了结果是个方法

支持(0) 反对(0) 2012 | 园豆:21645 (高人七级) | 2015-11-17 13:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册