我需要为聊天室实施长轮询或待处理请求。我尝试了a4j:push,但似乎不像真正的长轮询方法(参见下面的讨论:https://community.jboss.org/message/16614)。
问题是:我有哪些替代方案可以实现长时间轮询?
我正在使用JSF 1.2,JAVA EE 6和RichFaces 3.3.2。
提前完成!
答案 0 :(得分:1)
您需要使用RichFaces中的a4j:poll
组件。 exadel live demo有一个非常好的样本并解释了主要属性。另外,您可以在official documentation中获得更多信息。
也许您想查看聊天实现示例而不是轮询。有一个问题:
答案 1 :(得分:0)
尝试使用netty-socketio java项目。它有很长的民意支持。在jsf页面上使用Socket.IO client javascript lib。
Javascript lib用法示例:
<script type="text/javascript">
var socket = io.connect('http://localhost:81', {
'transports' : [ 'xhr-polling' ],
'reconnection delay' : 2000,
'force new connection' : true
});
socket.on('message', function(data) {
// here is your handler on messages from server
});
// send object to server
var obj = ...
socket.json.send(obj);
</script>