我能如何使用网状框架长轮询?说,例如我取http://localhost/waitforx

waitforx是异步的,因为它必须等待一个事件?说,例如它提取东西从阻塞队列(只能取时在队列中的数据)。当正从队列项我想发送的数据返回到客户端。希望有人可以给我一些提示如何做到这一点。

非常感谢

有帮助吗?

解决方案

您可以先写一个响应报头,然后再从其他线程发送所述主体(内容)后。

void messageReceived(...) {
    HttpResponse res = new DefaultHttpResponse(...);
    res.setHeader(...);
    ...
    channel.write(res);
}

// In a different thread..
ChannelBuffer partialContent = ...;
channel.write(partialContent);

其他提示

您可以使用网状-socketio 项目。它的实现 Socket.IO 服务器与长轮询支持。在网络方面,你可以使用 Socket.IO客户端的JavaScript LIB。

您还可以做以下的[sfnrpc]: http://code.google.com/p / sfnrpc

Object object = RPCClient.getInstance().invoke("#URN1","127.0.0.1:6878","echo",true,60,"", objArr,classArr, sl);

的真正原因的通信是同步的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top