如何使用netty框架进行长轮询?例如,我要获取http://localhost/waitforx
,但是waitforx
是异步的,因为它必须等待事件。例如,它从阻塞队列中获取某些内容(只有在队列中有数据时才能获取)。当从队列中获取项目时,我想发送数据回客户端。希望有人可以给我一些建议如何做到这一点。
非常感谢
如何使用netty框架进行长轮询?例如,我要获取http://localhost/waitforx
,但是waitforx
是异步的,因为它必须等待事件。例如,它从阻塞队列中获取某些内容(只有在队列中有数据时才能获取)。当从队列中获取项目时,我想发送数据回客户端。希望有人可以给我一些建议如何做到这一点。
非常感谢
您可以先编写响应头,然后从其他线程稍后发送正文(内容)。
void messageReceived(...) {
HttpResponse res = new DefaultHttpResponse(...);
res.setHeader(...);
...
channel.write(res);
}
// In a different thread..
ChannelBuffer partialContent = ...;
channel.write(partialContent);
在 [sfnrpc] 中,您还可以执行以下操作:http://code.google.com/p/sfnrpc
Object object = RPCClient.getInstance().invoke("#URN1","127.0.0.1:6878","echo",true,60,"", objArr,classArr, sl);
真正的原因使通信变得同步。