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条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站