多人聊天将聊天信息都放在服务器类存开辟的一块内存单元中。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