新手问题 困扰我很久没解决的问题

rfei · 2015年09月24日 · 最后由 rfei 回复于 2015年09月28日 · 1566 次阅读
设定

S服务器端;W浏览器端;P手机端;D第三方服务器;

业务流程是这样的:

W ajax请求S; S请求D,同时提醒P端操作某项操作; P操作,P端通知D端; D端再返回刚才S端向D端做的请求结果; D端得到S端请求,等待P端通知,一旦P端有消息,立即返回给S端;D端20秒未得到P端通知,也立即返回消息给S端;W、S端重新发起以上流程。

现在问题是

在并发的情况下,S端获取D端结果返回时间太长,P端已经操作并通知了D端,但S端没有及时得到结果;但单独测试,S端从D端能及时到结果。 我这里目前只能控制S端和W端,手机P端和第三方D端不能有任何更改。 目前S端脚本用的php,Web服务器用apache2,代码类似这样

$url = 'D端API地址';
$re = file_get_contents($url);
if($re=='something'){
  ...
}
请问一下在S端有没有好的方案和建议,不限于PHP;
共收到 3 条回复

可能是我理解力不好,没看出来什么地方困扰你了。

在并发的情况下,S端获取D端结果返回时间太长

这个为什么时间这么长?

#2楼 @jiemoon #1楼 @jimrokliu 其实困扰我的问题就是

在并发的情况下,S端获取D端结果返回时间太长

不过已经解决了,原因就在file_get_contents这个方法上面,因为是php的问题,就不多做说明了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册