日期:2014-05-16  浏览次数:20681 次

问一个有关聊天室的问题。 - Web 开发 / Ajax
构建聊天室倒还好说,就是客户端和服务器该怎么响应?我的想法是浏览器客户端每发一条信息就存进数据库,然后每隔三秒钟从数据库提取前十条信息。还有什么比较好的办法吗?比如即时响应的,该怎么做?

------解决方案--------------------
用sql语句啊
select top 10 * from 表名 order by id asc
------解决方案--------------------


浏览器客户端每发一条信息就存进数据库,
这个容易啊,用户提交的时候 insert into table values ....即可




==== 思想重于技巧 ====

------解决方案--------------------
用械框架
------解决方案--------------------
毕竟http是基于无状态的,实现真正的实时PUSH只能用一些其他的思想

你可以查查COMET,基本原理就是
client发一个提取数据的请求,服务端发现如果有可以返回的新数据就返回,客户端接受到新数据后立即再次发出请求;如果服务端没有发现有可以返回的数据,则sleep一定时间,然后再去取数据,直到取到。

或者你改用flash,利用里面的socket
------解决方案--------------------
探讨
不是,我的意思是,每当有新消息进来的时候就把这个消息分发给每个客户端,这种方法能实现吗?