Heim  >  Artikel  >  Backend-Entwicklung  >  java如何实现html的实时采集,给个思路。谢了!

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

WBOY
WBOYOriginal
2016-06-06 20:39:17977Durchsuche

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

回复内容:

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

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

websocket条件限制太多。。

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

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

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

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

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn