请教:如何写一个聊天室,看这样行不?

04-11-01 diablo_hjn
我想在我的系统里写一个聊天室程序,这样在线人员工作的时候便于信息交流。

开始我想用APPLET+SOCKET写可是这样做的话服务器又要让出一个端口来,而且可能会加重系统负担,还有APPLET要求客房端也要有JAVA虚拟机才能运行。

所以我又改用系统提供的JMS机制来做:

我先写了一个类JMSChat继承MessageListener,通过重写onMessage方法获得消息。又写一个标签类MyTag继承TagSupport在这个类里运行JMSChat当onMessage收到消息后就通过MyTag的pageContext成员获得的JspWriter将消息写出来。

在测试的时候出现一个问题:onMessage收到消息后在服务器控制台显示出该消息没有错误,但是在调用JspWriter写的时候出现异常:Message listener cn.com.nlc.tag.chat.JMSChat@df33ae threw a RuntimeException.之后再试着发了几次消息。发现pageContext.getPage()得到实例变化了不是我用来处理MyTag的页,而是我用来发消息的页。这样本该接收到消息的页面没有显示消息,而在我发送消息的页面显示出来了。我不知道该怎么办?

请大家帮帮忙,谢谢。

大家还有别的好方法来写聊天室吗,请赐教!

猜你喜欢