Rumah > Soal Jawab > teks badan
如题!
html页面会一直保持连接状态,我这边不是指的Keep-Alive,
Keep-Alive是需要后继请求的。
当html页面有更新时,不用后继请求并拿到更新数据过滤后入库。
类似socket!
当客户端发出信息时,服务器才会把这个信息输出,而不是向客户端无限循环状态。
如果php也能做到,php同时也给个思路。谢了!
迷茫2017-04-10 15:18:46
tomcat7 可以websocket
(当然浏览器也要支持)
websocket
条件限制太多。。
所以你可以去查找下长轮询的方案。
长轮询简单起来说,就是发起一次ajax请求,如果服务器没有通知,就暂时不返回,一直到有数据或者连接超时。
一旦连接超时或者数据过来,处理完后马上发起下一次请求。
长轮询对于普通轮询的优点是不需要频繁建立连接,因为建立连接是非常耗费资源的,但同时又能达到实时的目的,而且对于浏览器不像websocket一样有特殊要求,所以是比较折衷的方案。
新浪微博在用长轮询的方案。
PHP应该很难做,java没啥问题。
伊谢尔伦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
巴扎黑2017-04-10 15:18:46
推荐用websocket来做,tomcat和Spring都支持websocket,tomcat是基于注解,spring是继承一个父类,用哪个都可以。websocket一旦建立后,相当于在前端和后端建立了一个通道,不只是后端可以给前端发送数据,前端也可以给后端发送数据。