问一个关于在线聊天室的设计思路问题 比如一个user写入一段话,上传到数据库之后。其他user接收这段话是用什么响应机制啊?我现在能想到的就是定时刷新+ajax。让用户感觉不到网页刷新和对话延迟。不知道这个思路对不对?PS:定时刷新会不会对伺服器造成一定的压力,人数增加以后会不会出现伺服器资源枯竭? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道,应该会有一定压力吧不过我想可能就是次数多而矣,数据量并不会太大如果用ActiveX控件,也许可以想办法减轻一些压力 定时刷新???不用把user发言了,那么你就是知道了你广播给所有的人不就行了给你个例子吧string user = user的消息当一个用户发言了就user=发言然后发给所有人string Ctext = 所有人看到的信息;Ctext+=user;然后把消息从新规0user = user的消息 2L指的是手动发送?但是伺服器不可能主动的给浏览器发送讯息啊。浏览器如果不主动刷新的话怎么能看到伺服端的更新讯息呢?PS:我把效果做出来了,用的是ajax+timer 定时刷新。设置的是0.1秒刷新。这个方法虽然有用,但是却不可能运用在实际操作中。每0.1秒执行打开数据库-查询数据-关闭数据库有没有其他方法啊? 用户发言 -> 保存到一个发言集合 -> 保存到数据库每个用户登陆以后用 ajax 每隔2-4秒钟查询一次发言集合,是否有新消息 有则提取该消息 webIM现在网上有很成熟的案例比如 aliIMQQIMbaiduHi实现的方法主要是聊天信息保存 至服务端 然后通过 事件触发 发送到客户端(这里是服务端推送,而不是另外的客户端进行读取),当然,这是有相当难度的,因为http协议是无状态的。网上提供了一些组件,你可以找找。 http://topic.csdn.net/u/20090523/13/5a571d6a-10e5-4d40-bbdd-59ca37983331_2.html参考一下这个吧.可能对你有用! .net 操作excel asp.net中如何得到当前点击的menu的item的text? 在显示页面的内容,直接用<%#Eval("NewsContent")%>可以吗? 哪位大师知道ASP.NET好的FTP上传控件啊 怎样获取数据库字段中,,之间的字符? 求救:gridview的分页问题, ASP页面传递参数的问题,我用的是Session方法 急问大哥们,这段代码应该加在什么地方??datagrid中加入js语句 // 怎样将嵌入资源图片显示在网页上? 这个怎么写啊 用模版生成html,换行问题 急啊~! 求高手解决~!
user发言了,那么你就是知道了
你广播给所有的人不就行了
给你个例子吧
string user = user的消息
当一个用户发言了就
user=发言
然后发给所有人
string Ctext = 所有人看到的信息;
Ctext+=user;
然后把消息从新规0
user = user的消息
但是伺服器不可能主动的给浏览器发送讯息啊。浏览器如果不主动刷新的话怎么能看到伺服端的更新讯息呢?
PS:我把效果做出来了,用的是ajax+timer 定时刷新。设置的是0.1秒刷新。
这个方法虽然有用,但是却不可能运用在实际操作中。每0.1秒执行打开数据库-查询数据-关闭数据库
有没有其他方法啊?
每个用户登陆以后用 ajax 每隔2-4秒钟查询一次发言集合,是否有新消息 有则提取该消息
比如 aliIM
QQIM
baiduHi实现的方法主要是聊天信息保存 至服务端 然后通过 事件触发 发送到客户端(这里是服务端推送,而不是另外的客户端进行读取),当然,这是有相当难度的,因为http协议是无状态的。网上提供了一些组件,你可以找找。
参考一下这个吧.可能对你有用!