比如一个user写入一段话,上传到数据库之后。其他user接收这段话是用什么响应机制啊?
我现在能想到的就是定时刷新+ajax。让用户感觉不到网页刷新和对话延迟。不知道这个思路对不对?
PS:定时刷新会不会对伺服器造成一定的压力,人数增加以后会不会出现伺服器资源枯竭?

解决方案 »

  1.   

    不知道,应该会有一定压力吧不过我想可能就是次数多而矣,数据量并不会太大如果用ActiveX控件,也许可以想办法减轻一些压力
      

  2.   

    定时刷新???不用把
    user发言了,那么你就是知道了
    你广播给所有的人不就行了
    给你个例子吧
    string user = user的消息
    当一个用户发言了就
    user=发言
    然后发给所有人
    string Ctext = 所有人看到的信息;
    Ctext+=user;
    然后把消息从新规0
    user = user的消息
      

  3.   

    2L指的是手动发送?
    但是伺服器不可能主动的给浏览器发送讯息啊。浏览器如果不主动刷新的话怎么能看到伺服端的更新讯息呢?
    PS:我把效果做出来了,用的是ajax+timer 定时刷新。设置的是0.1秒刷新。
    这个方法虽然有用,但是却不可能运用在实际操作中。每0.1秒执行打开数据库-查询数据-关闭数据库
    有没有其他方法啊?
      

  4.   

    用户发言 -> 保存到一个发言集合 -> 保存到数据库
    每个用户登陆以后用 ajax 每隔2-4秒钟查询一次发言集合,是否有新消息 有则提取该消息
      

  5.   

    webIM现在网上有很成熟的案例
    比如 aliIM
    QQIM
    baiduHi实现的方法主要是聊天信息保存 至服务端 然后通过 事件触发 发送到客户端(这里是服务端推送,而不是另外的客户端进行读取),当然,这是有相当难度的,因为http协议是无状态的。网上提供了一些组件,你可以找找。
      

  6.   

    http://topic.csdn.net/u/20090523/13/5a571d6a-10e5-4d40-bbdd-59ca37983331_2.html
    参考一下这个吧.可能对你有用!