我基于网状版本4,和基于Tomcat上的Web客户端应用程序开发的分析系统。
Web应用程序接受用户的输入,然后将其发送到分析机。 最后打印在HTML页面的响应。
这是在发送用户的输入,以分析节点的servlet代码:
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String input = request.getParameter("input");
Channel ch = pool.borrowObject();
Protocol.Builder builder = Protocol.newBuilder().setInput(input);
ch.writeAndFlush(builder.build());
}
网状异步工作,所以在HTTP请求发送后结束。
这是在响应处理程序的代码:
@Override
protected void channelRead0(ChannelHandlerContext ctx, Protocol response)
throws Exception {
pool.returnObject(ctx.channel());
//How could I code here to display response to the HTML page that user requested?
}
我一直在这里奋斗了几个星期。 我试图用一个公共THEAD安全的队列来进行HTTP请求等待,直到得到了队列的响应。 但是,这使得整个申请成为同步。
谁能告诉如何在这做什么? 非常感谢!