怎么实现论坛里那种“你有新消息”的提示功能? 方法有很多,要是希望性能高的话,需要用商用的WebServer 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 基于B/S结构的不可能实现像C/S那样的实时。比较通常的做法是在客户端用脚本语言设置一个定时器,定时的查询服务端的消息。 应该可以解决的!象一个jsp的OA就有这样的功能可以做一个触发,当出发消息的时候,就可以做到 当用户登入时,访问一下消息.在服务器端建一个线程,定时向已登陆的用户群发消息?猜测&&关注 可以找一个bbs的源代码看一下,我前段时间曾经看过类似的代码! Ajax技术 或者一个小iframe定时刷新 卷帙浩繁,懒人期待有人直接贴代码在下现在做的就是:发一条命令->直接存在发命令表里收命令的一端,页面1min刷新一次,刷新一次就读一次数据库。但是,每天会有几百个人登入,全天候等待自己的命令,尽量少延迟收令,每个都这么刷新的话,肯定不行啊 大家担心的性能问题,其实要看你后台是如何设计了。目前的服务器性能都应该不成问题,而性能瓶颈往往出现在对数据库的查询上,查询语句复杂、语句条数多,这些都是造成大用户量访问时,服务器总体性能下降的原因。针对楼主的问题,说的深奥一点就是可以用ajax来解决,说的简单一点就是一小段定时循环的javascript。用这个js每分钟(自定义)从服务器请求该用户是否有新消息,有的话就接收消息。然后用js在页面某个地方显示一个会闪的gif,自动提示消息的功能就ok了。主要是考虑后台如何查询这些信息。信息一般都存在数据库,这个没有疑问,但不能主动去数据库查询这些信息。在数据库中应该有一张专门放置要提示的信息的表,其他信息新增模块每次产生一条新信息,除了记录到信息模块的表中,还应该顺便记录到这张临时表中。接着要有一个定时程序,可能每分钟一次,从临时表中读取所有数据(这样很快,一次性查出所有用户的信息),然后将这些数据写入服务器application上下文。前台有一个服务类,用来和页面的ajax请求交互。这个类接受到用户的刷新请求,开始到application上下文中的信息列表中查找用户的信息。(不可否认:在内存列表中查找信息远比在数据库中用sql查找信息)如果找到就把信息通过xml->ajax返回给客户端。当客户到查看信息页面中查看掉信息后,就删除临时表中的记录,一分钟后的同步动作应该自动将内存中的信息干掉了。 页面定时向服务器发送请求看有无新消息,有的话就采用图片替换的方法(类似CSDN)并接收消息~ java的引用传递 和 值传递有点不明白 关于HashMap的错误~ 急,Lucene 全文搜索问题,一天了,没有解决 Struts2的小问题 SOA是种什么样的开发思想? end of stream was detected on a read 有什么免费的JAVA开源代码下载网站,能推荐几个吗 如何实现socket缓冲池?? 那里有j2ee架构的经典例子下载??? 上海的外企中什么公司比较好啊?做基于J2EE的 我的CMP 中有两个主键,怎么调用它的 findByPrimaryKey 关于hibernate HQL查询问题
在服务器端建一个线程,定时向已登陆的用户群发消息?
猜测&&关注
或者一个小iframe定时刷新
在下现在做的就是:
发一条命令->直接存在发命令表里
收命令的一端,页面1min刷新一次,刷新一次就读一次数据库。
但是,每天会有几百个人登入,全天候等待自己的命令,尽量少延迟收令,每个都这么刷新的话,肯定不行啊
目前的服务器性能都应该不成问题,而性能瓶颈往往出现在对数据库的查询上,查询语句复杂、语句条数多,这些都是造成大用户量访问时,服务器总体性能下降的原因。
针对楼主的问题,说的深奥一点就是可以用ajax来解决,说的简单一点就是一小段定时循环的javascript。
用这个js每分钟(自定义)从服务器请求该用户是否有新消息,有的话就接收消息。然后用js在页面某个地方显示一个会闪的gif,自动提示消息的功能就ok了。
主要是考虑后台如何查询这些信息。信息一般都存在数据库,这个没有疑问,但不能主动去数据库查询这些信息。在数据库中应该有一张专门放置要提示的信息的表,其他信息新增模块每次产生一条新信息,除了记录到信息模块的表中,还应该顺便记录到这张临时表中。
接着要有一个定时程序,可能每分钟一次,从临时表中读取所有数据(这样很快,一次性查出所有用户的信息),然后将这些数据写入服务器application上下文。
前台有一个服务类,用来和页面的ajax请求交互。这个类接受到用户的刷新请求,开始到application上下文中的信息列表中查找用户的信息。(不可否认:在内存列表中查找信息远比在数据库中用sql查找信息)如果找到就把信息通过xml->ajax返回给客户端。
当客户到查看信息页面中查看掉信息后,就删除临时表中的记录,一分钟后的同步动作应该自动将内存中的信息干掉了。
并接收消息~