有人用java实现过server push吗??
大家好!我在做一个server push的程序遇到了很奇怪的问题
程序框架大致如下,在doPost()中:
ServletOutputStream out = response.getOutputStream();
MultipartResponse multi = new MultipartResponse(response);
multi.startResponse( "text/html ");
out.println( "输出的内容 "); //这里输出的内容是网页的文件头
multi.endResponse();
while(true){
//一些判断条件
multi.startResponse( "text/html ");
out.println( "程序读xml文件后,输出的文件内容 ");
multi.endResponse();
}
我的问题是,即使是第一个输出out.println( "输出的内容 ")在浏览器中起码也要半分钟才显示。而我可以确定,该行代码很快就被执行了。
为什么会这样?跟server push有关吗?
------解决方案--------------------在out.println( "输出的内容 ")后面加一个out.flush()就可以了,因为存在服务器端的缓冲区,所以要强制输出
------解决方案--------------------谁做过像QQ新闻对话框自动弹出的程序吗?应该就是用的是Server push技术,服务端监听到客户端用户已经登陆,就强行发送一个消息给它。这样的技术用java怎么实现?哪位大虾能够给个例子?