请教关于WEB聊天的问题
各位好,我现在有一个问题请教一下大家。
我网页上想实现一个类似MSN、QQ一样的实时聊天系统,要求支持一对一和一对多(群)的聊天功能,并且要能够支持较多人同时在线聊天。
我现在的想法是这样的:用户发送信息时,判断对方是否在线,如果对方在线则将信息缓存在内存中,如果不在线则将信息存入数据库供对方读取,接收信息时用AJAX异步每隔一段时间向服务器检索新的未读信息,第一次检索时先从数据库中检索是否有未读信息(在不在线时可能有其它用户发过来的信息),以后只检索内存中是否有新的信息,如果有则读取并将它删除。
不知道这种想法是否可行?会有什么样的问题?或是各位有更好的办法请不啬赐教。
[解决办法]
不管在不在线都存入数据库中,用一个状态位来表示是否读取!
[解决办法]
做过一个很简单的,只支持多人聊天,也是ajax异步更新,聊天信息存储分为服务器和用户端,服务器端通过管道,控制信息数量,先进先出,用户端通过js存储用户登陆后的全部聊天信息。
做的很粗糙,不知道有没有什么帮助。
[解决办法]
呵呵 LS的方法也是可以的
WEB聊天 即时发送的话 服务器压力会比较大吧
QQ 是点对点协议!
[解决办法]
因为是简单实现所以没有使用到数据库,然后考虑到大量的信息,对服务器影响是很大的,所以用到管道,比如以1000条信息为极限,当我加1001条信息的时候,我会删除掉第一条,这样能减少服务器的负担,然后通过js保存用户登陆到聊天室的全部聊天记录,这样解决了服务器上的聊天记录不全(因为最多只有1000条),当用户关闭页面聊天记录就没有了。
[解决办法]