当前页面: 开发资料首页 → JSP 专题 → 做了一个Cometdemo,老板不相信它是comet
做了一个Cometdemo,老板不相信它是comet
摘要: 做了一个Cometdemo,老板不相信它是comet
该cometdemo实现如下效果:
1.客户端A打开某网页,界面上显示“wait”。窗口勿关。
2.客户端B打开某网页,在某输入框中输入”red”, 则客户端A的白色方框变为红色。在某输入框中输入”green”, 则客户端A的方框变为绿色。
详细代码后面给出。
现在问题是,老板不相信这个东西实现了comet机制,他认为这个实现还是browser端不断地去服务端取数据(像ajax一样),而不是服务端发现数据更新了便push到browser端。我想问题的关键大概是他不认为这个cometdemo里的comet-push.jsp是在服务端执行的吧,即对于每个客户端A是不是都有一个不同的comet-push.jsp在执行,还是都是同一个?
对jsp不太熟,请各位大牛帮忙给个说法。谢谢!!!
对下面每个文件简单说明一下:
comet.html:客户端A打开的页面,包含display和push两个框架
comet-push.jsp:push框架。看数据是否更新,如果更新则push至display框架
comet-display.html:display框架
comet-input.jsp:客户端B打开的页面
comet_server.java:存储数据的静态类
comet.html
<head>
<script LANGUAGE="javascript">
var pageStart="<head></head><body BGCOLOR=blue TEXT=white><table width=/"211/" height=/"106/" border=/"0/"><tr><td bgcolor=/"#";
</td><td bgcolor=/"#";
</td></tr></table>
Server pushes:
";
var pageEnd="</body>";
function push(content) {
window.frames['displayFrame'].document.writeln(pageStart+content+pageMiddle1+content+pageMiddle2+content+pageEnd);
window.frames['displayFrame'].document.close();
}
</script>
</head>