服务端如何一直向客户端发送请求。

现在开发一款APP,想实现一个类似于抱抱的功能,客户端点击抱抱,一直发送请求到服务端,服务端处理业务需求,服务端在处理业务需求的时候,客户端显示一直在匹配,请问这种方式用JAVA在服务端应该如何实现?图片描述

阅读 6.2k
3 个回答

如果是长连接, 服务器可以直接发消息, tcp是全双工的
如果是短连接, 比如http这种, 客户端发送一个http请求, 然后服务器不返回, 等到有推送消息了再返回. 详细可以去Google DirectPush. 后来所有的Push技术都是这种技术的变种.

只是一个比一般http请求稍微长一点点的请求。
客户端需要一个进度而已。有几种办法。

  1. 客户端弄个假的进度

  2. 拆分成很多请求。开始创建一个任务结束,然后,客户端按照时间间隔不断轮训状态。

  3. 仅使用一次请求,http1.1支持chunk encoding。就是服务端返回数据的时候,不是一次性发送,分成多次发送,可以间隔1秒不断给客户端发送消息,通知客户端进度信息。

用socket保持长连接。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题