iteye_19391 2014-05-13 22:30
浏览 291
已采纳

C/S结构客户端异步调用WebService

C/S结构客户端(有多个客户端)调用服务端,请求后直接可以返回结果,但是该结果不是最终结果。后续服务端还会生成若干个状态信息。客户端如何才能拿到这些信息。

想到几种解决方法,但都不完美。

1.客户端通过异步WebService方式调用,拿到结果后,如果不是最终状态,再发起一个异步调用(缺点:占用连接)
2.客户端轮询(缺点:占用资源)
3.用户手动触发(缺点:用户体验不好)

  • 写回答

2条回答 默认 最新

  • hadeslbf 2014-05-14 08:37
    关注

    轮询的方案是最简单的,并且不容易出错,服务器可以返回客户端一个标记,然后客户端再拿这个标记去服务器询问是否有了最终的结果,如果没有,服务器端可以返回一个时间,也就是下次访问的间隔,这样服务器端就可以控制轮询的间隔了。

    当然,还有一个方案,就是服务器端做完所有的事情以后再返回客户端,客户端可以起一个线程在那里等待服务器的最终结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建