Rumah  >  Soal Jawab  >  teks badan

php - java如何实现html的实时采集,给个思路。谢了!

如题!
html页面会一直保持连接状态,我这边不是指的Keep-Alive,
Keep-Alive是需要后继请求的。
当html页面有更新时,不用后继请求并拿到更新数据过滤后入库。
类似socket!
当客户端发出信息时,服务器才会把这个信息输出,而不是向客户端无限循环状态。
如果php也能做到,php同时也给个思路。谢了!

阿神阿神2769 hari yang lalu578

membalas semua(4)saya akan balas

  • 迷茫

    迷茫2017-04-10 15:18:46

    tomcat7 可以websocket(当然浏览器也要支持)

    websocket条件限制太多。。

    所以你可以去查找下长轮询的方案。

    长轮询简单起来说,就是发起一次ajax请求,如果服务器没有通知,就暂时不返回,一直到有数据或者连接超时。
    一旦连接超时或者数据过来,处理完后马上发起下一次请求。
    长轮询对于普通轮询的优点是不需要频繁建立连接,因为建立连接是非常耗费资源的,但同时又能达到实时的目的,而且对于浏览器不像websocket一样有特殊要求,所以是比较折衷的方案。

    新浪微博在用长轮询的方案。

    PHP应该很难做,java没啥问题。

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:18:46

    可以通过实现Websocket实现你这个需求,后端往前端推。
    Java的话,使用Netty来实现websocket更加简单。类似这样https://github.com/wjl327/SomeJava/tree/master/netty-5.x/src/main/java/com/wjl/websocket

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:18:46

    看过socket.io的实现 用flash实现兼容 也是拼了

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:18:46

    推荐用websocket来做,tomcat和Spring都支持websocket,tomcat是基于注解,spring是继承一个父类,用哪个都可以。websocket一旦建立后,相当于在前端和后端建立了一个通道,不只是后端可以给前端发送数据,前端也可以给后端发送数据。

    balas
    0
  • Batalbalas