嵌入式 Jetty - 将 WebSocketUpgradeFilter 与 AsyncProxyServlet

问题描述

我有一个扩展 AsyncProxyServlet 的类来使用 Jetty 进行代理:

Server httpProxy = new Server();
ServletHolder servletHolder = new ServletHolder(TunnelProxyServlet.class);
HandlerCollection handlers = new HandlerCollection();
httpProxy.setHandler(handlers);

ServletContextHandler contextHandler = new ServletContextHandler(handlers,"/",ServletContextHandler.SESSIONS);
        
contextHandler.addServlet(servletHolder,"/*");

现在我想为此添加 WebSocket 支持。

我试过了:

try {
    WebSocketUpgradeFilter.configure(contextHandler);
    NativeWebSocketServletContainerInitializer.configure(contextHandler,((context,container) ->
    {
      container.addMapping("/*",(req,resp) -> new WebSocketProxy().getWebSocketConnectionListener());
    }));
   } catch (ServletException ex) {
     Logger.getLogger(HttpProxy.class.getName()).log(Level.SEVERE,ex.getMessage());
   }

但代码永远不会达到这一点。

如何使用 WebSocket 进行代理?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)