gpt4 book ai didi

java - jetty websockets 仅服务器 - 无 http 服务器 - 删除 404 错误

转载 作者:行者123 更新时间:2023-11-30 04:58:04 24 4
gpt4 key购买 nike

我使用 jetty 实现了一个小型 Web 套接字服务器,嵌入到一个更大的 java 应用程序中。服务器在 8081 端口上运行,一切正常(在 google chrome 中使用小型客户端进行测试)。但是,如果我尝试访问 http://localhost:8081 (是的,使用 http)我收到 404 错误,由 jetty 提供支持。

jetty 有没有办法检测接收到的格式是否基于 websockets 格式,如果不是(在我们的例子中是 http),则仅关闭套接字连接而不返回 404 错误?

谢谢

最佳答案

您可以自己执行此操作,但我认为 Jetty 中没有提供任何东西可以执行此操作。

如果您使用的是 WebSocketServlet,那么您应该重写 service 方法,类似于

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
if(!"WebSocket".equals(request.getHeader("Upgrade")))
{
org.eclipse.jetty.server.Request jettyRequest = org.eclipse.jetty.server.Request.getRequest(request);
jettyRequest.getEndPoint().close();
jettyRequest.setHandled(true);
}
else
{
super.service(request, response);
}
}

如果您已经推出了自己的处理程序,那么您应该能够弄清楚如何使该代码适应您的需求。

关于java - jetty websockets 仅服务器 - 无 http 服务器 - 删除 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com