• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
平衡适可而止
博客园    首页    新随笔    联系   管理    订阅  订阅

基于Flex多人聊天室

1.1 系统功能和界面参考QQ聊天室。 1.2 提供注册功能,系统的访问者可以注册成为普通用户。 1.3 普通用户登陆后首先显示聊天大厅,在大厅中有多个聊天室,选择其中一个进入后可进行聊天。 1.4 用户在聊天室中可以看到本聊天室的其他用户,可以对所有人发言,也可以只对某一个用户发言。发言可以选择公开和秘密两种,如果公开则所有人都能看到该发言内容;如果是秘密,则只有接受者才能看到。聊天室的发言面板采用滚屏方式实时显示所有用户的发言。 1.5 用户可以退出聊天室,到大厅后再选择进入其他聊天室,也可以从大厅退出系统。 1.6 管理员登陆后可以维护聊天室和用户。管理员可以增加、修改和删除聊天室,可以删除注册的普通用户。

多人聊天将聊天信息都放在服务器类存开辟的一块内存单元中。Head指针指向的是最新的入队列的那个数据。 Rear指针是客户相对应得session的值。刚初始化的值为Head的值相等,相当于用户刚进入聊天室所有的聊天记录都不知道,只有在这之后的所有的记录才能显示在客户的窗口上。 利用刷新技术将Rear和Head之间的数据都显示在用户的窗口上。参考代码如下: 客户端采用Timer控件实现定时刷新效果

 var timer:Timer = new Timer(3000);

timer.addEventListener(TimerEvent.TIMER,onTimer);

 timer.start();

timer的定时函数,意思是每隔一段时间访问下服务器资源

private function onTimer(event:TimerEvent):void{

getMess(); //隔一段时间刷新一次

var flexRequest:URLRequest = new URLRequest("http://localhost:8080/Check/frientList.do?date="+new Date());

 var flexLoad:URLLoader = new URLLoader();

 flexLoad.load(flexRequest);

 source1.dataProvider = null;

flexLoad.addEventListener(Event.COMPLETE,dateloaded); //在定时里面将私聊的信息给读取出来

 var privateRequest:URLRequest = new URLRequest("http://localhost:8080/Check/callAndDel.do?date="+new Date());

 var priload:URLLoader = new URLLoader();

 priload.load(privateRequest);

priload.addEventListener(Event.COMPLETE,privateDataloaded);

}

前台Flex 后台代码j2ee

http:///Files/magic0123/聊天室代码.rar

QQ413027243

posted @ 2010-01-15 16:19  平衡适可而止  阅读(1400)  评论(3)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3