1

我需要为聊天室实现长轮询或挂起请求。我尝试了 a4j:push,但它似乎不像真正的长轮询方法那样工作(参见以下讨论:https ://community.jboss.org/message/16614 )。

问题是:我必须使用哪些替代方案来实现长轮询?

我正在使用 JSF 1.2、JAVA EE 6 和 RichFaces 3.3.2。

提前谢谢!

4

2 回答 2

1

您需要使用a4j:pollRichFaces 中的组件。exadel现场演示有一个非常好的示例并解释了主要属性。另外,您可以在官方文档中获得更多信息。

也许您想查看聊天实现示例而不是轮询。有一个问题:

https://stackoverflow.com/a/1577486/1065197

于 2012-03-09T21:07:59.600 回答
0

尝试使用netty-socketio java 项目。它有很长的投票支持。在您的 jsf 页面上使用Socket.IO 客户端javascript lib。

Javascript 库使用示例:

<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>
于 2012-04-07T15:44:19.120 回答