LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

B/S结构下如何实现socket通信

admin
2010年5月1日 0:6 本文热度 7161

请大家帮帮忙,我现在在做一个b/s的在线考试系统,要求学生考试时监考老师可以给学生发送消息。监考老师和学生登陆的是同一个系统。页面不同,如何实现。谢谢了。

哈哈,终于搞定了,最终用的方法拿出来跟大家分享一下:
首先把老师要发送的消息写到服务器上的xml文件,之所以不写到数据库是因为数据库每秒钟被学生访问会造成服务器卡死。xml文件就没问。
public void loadxml()
{
doc.load(server.mappath("~/message.xml"));
}
protected void btn_radio_click(object sender, eventargs e)
{
loadxml();
xmlnode nodes = doc.selectsinglenode("//question/content");
nodes.innertext = tbmessage.text;
doc.save(server.mappath("~/message.xml"));

}

学生获取消息时要用javascrip每一秒钟获取一次xml里的content节点下的消息。用javascript就不会一直刷新,获取完就弹出,弹出后要清空xml的content节点,就不会一直弹了。下一次老师有消息写入的时候会再次弹。
function selectxml()
{
try //internet explorer
{
xmldoc=new activexobject("microsoft.xmldom");
}
catch(e)
{
try //firefox, mozilla, opera, etc.
{
xmldoc=document.implementation.createdocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmldoc.async=false;
xmldoc.load("/message.xml");
// document.write("xmldoc is loaded, ready for use");
x=xmldoc.getelementsbytagname("content");
if(x[0].childnodes[0].nodevalue!="")
{
alert(x[0].childnodes[0].nodevalue);
x[0].childnodes[0].nodevalue="";
}
}
catch(e)
{

}
}

settimeout("selectxml()",1000)

哈哈,腾讯用那么长时间做的webqq一下就实现了。


该文章在 2010/5/1 0:06:52 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved