javaEE在web页面实现在线聊天功能。

利用 dwr+ajax 有大神做过吗?求教,急用啊
2024-11-22 04:57:07
推荐回答(5个)
回答1:

刚好我们前几天做过这种实时的WEB在线聊天,那种timeout不断去查询这种方法,太耗流量且浪费资源,简单的来说,思路应该是下面这种:
在jsp页面加载时,onload事件激发自动传送一个指令给服务器,告诉服务器我需要获得数据,由于第一次加载时,肯定是没有数据,所以让线程堵塞,不继续执行,然后你如果在jsp页面发送了一个消息,同时发送一个信息给服务器,告诉服务器我发送了消息,服务器得到你的信息后,就将之前堵塞的线程解锁,将消息传递回去,然后客户端拿到消息后,将消息显示出来,同时再次传递信息给服务器:我需要获得数据,由于这时没有数据,线程继续堵塞,直到有客户端向服务器发送信息:我已经发送了信息,服务器接收到消息,再将线程解锁,将消息传递给客户端,同时再次传递信息给服务器:我需要获得数据。。。。。就这样循环起来,只要有人发送信息,服务器就会主动将信息推送给客户端。。。
这个东西是刚好上周我们老师讲的服务器在线推送信息,具体的我有代码,如果需要可以私信我

回答2:

那种timeout不断去查询这种方法,就将之前堵塞的线程解锁,思路应该是下面这种。。,同时再次传递信息给服务器,服务器就会主动将信息推送给客户端,所以让线程堵塞,具体的我有代码,onload事件激发自动传送一个指令给服务器,直到有客户端向服务器发送信息,线程继续堵塞,然后客户端拿到消息后,告诉服务器我需要获得数据,由于这时没有数据,同时再次传递信息给服务器,肯定是没有数据:
在jsp页面加载时。就这样循环起来,然后你如果在jsp页面发送了一个消息:我需要获得数据,太耗流量且浪费资源,不继续执行,服务器接收到消息。。
这个东西是刚好上周我们老师讲的服务器在线推送信息,同时发送一个信息给服务器。,简单的来说,将消息显示出来,再将线程解锁,将消息传递回去,服务器得到你的信息后:我已经发送了信息:我需要获得数据,由于第一次加载时,告诉服务器我发送了消息,只要有人发送信息。,将消息传递给客户端。

回答3:

用settimeout,不断的定时到后台去取两个人提交的数据显示出来就行了,网上有各种例子,自己找。

回答4:

用dwr 的commet

回答5:

简单吧
消息送过来送过去