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

关于聊天室私聊功能的实现
我准备用基于Ajax长轮询的服务器推技术做一个聊天室,不知道私聊功能有没有比较好的实现方法,那位大侠知道,请知道一下小弟,不胜感激。要求是用asp.net做的
------解决方案--------------------
私聊是这样实现的:

用户A把消息发给了用户B,那么就在数据库里插入以下记录:

fromU  toU msgContent
A     B  hellow

对于B用户而言,把属于自己的消息找出来,就可以用select * from msg where toU='session(user)'来得到,session(user)就对应于B用户。

至于你是用轮询,还是服务器推,都可以。

但数据库里一定是这么保存的。借助于flash插件,可以实现服务器推,比较节省服务器负担
------解决方案--------------------
私聊?
在发送内容到服务器的时候在msg上加上文件头.比如
string msg="hello Ajax";
msg="MSGTO%%Ajax%%"+msg;
在在服务器端分析文件头内容.看看是群发还是私聊的.
以前做winform的局域网聊天就是这样做的