当前位置: 首页 > 知识库问答 >
问题:

jetty server-version11拒绝了客户端连接。0

濮阳驰
2023-03-14

主要类别

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;

public class WebSocketServer {
    private Server server;

    public void setup() {
        server = new Server();
        ServerConnector connector = new ServerConnector(server);
        connector.setPort(12345);
        server.addConnector(connector);
        ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
        contextHandler.setContextPath("/");
        contextHandler.addServlet(WebSocketServlet.class, "/websocket");
        JettyWebSocketServletContainerInitializer.configure(contextHandler, null);
        
            server.setHandler(contextHandler);
        
    }

    public void start() throws Exception {
        server.start();
        server.dump(System.err);
        server.join();
    }

    public static void main(String args[]) throws Exception {
        WebSocketServer webSocketServer = new WebSocketServer();
        webSocketServer.setup();
        webSocketServer.start();
    }
}

JettyWebsocketServelet实现:

public class WebSocketServlet extends JettyWebSocketServlet {

    @Override
    protected void configure(JettyWebSocketServletFactory factory) {
        // TODO Auto-generated method stub
        factory.register(WebSocketServer.class);
    }
      
}

依赖性:

<dependency>
    <groupId>org.eclipse.jetty.websocket</groupId>
    <artifactId>websocket-jetty-server</artifactId>
    <version>11.0.2</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-server</artifactId>
    <version>11.0.2</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-http</artifactId>
    <version>11.0.2</version>
</dependency>

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-servlets</artifactId>
    <version>11.0.0</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty.websocket</groupId>
    <artifactId>websocket-jetty-client</artifactId>
    <version>11.0.0</version>
</dependency>

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-annotations</artifactId>
    <version>11.0.0.beta3</version>
</dependency>
<groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>11.0.2</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-io</artifactId>
    <version>11.0.2</version>
</dependency>

错误:

JAVAnio。频道。组织上的ClosedChannel异常。日食码头。websocket。果心内部的WebSocketSessionState。org上的其中一个(WebSocketSessionState.java:174)。日食码头。websocket。果心内部的WebSocketCoreSession。org上的一个(WebSocketCoreSession.java:329)。日食码头。websocket。果心内部的WebSocketConnection。org上的fillAndParse(WebSocketConnection.java:456)。日食码头。websocket。果心内部的WebSocketConnection。org上的onFillable(WebSocketConnection.java:314)。日食码头。io。AbstractConnection$ReadCallback。在org成功(AbstractConnection.java:319)。日食码头。io。填充利息。可在org上填写(FillInterest.java:100)。日食码头。io。SocketChannelEndPoint 1美元。在org上运行(SocketChannelEndPoint.java:101)。日食码头。util。线策略吃什么就杀什么。org上的runTask(eatwatyoukill.java:333)。日食码头。util。线策略吃什么就杀什么。doProduce(eatwatyoukill.java:310)位于org。日食码头。util。线策略吃什么就杀什么。tryProduce(eatwatyoukill.java:168)位于org。日食码头。util。线策略吃什么就杀什么。在org上制作(eatwatyoukill.java:132)。日食码头。util。线QueuedThreadPool。位于org的runJob(QueuedThreadPool.java:894)。日食码头。util。线QueuedThreadPool$Runner。在java上运行(QueuedThreadPool.java:1038)。基本/java。lang.Thread。运行(Thread.java:834)

连接被拒绝和超过错误****JDK版本是11****

共有1个答案

公孙俊弼
2023-03-14

错误消息是类路径上相同依赖项的两个略有不同版本的结果。简单地说,这意味着类路径中存在多个或多个依赖项。关于这一点,我无法为您提供确切的解决方案,但通常要进行调试,请使用JVM with-verbose选项,然后查看异常发生时正在加载的类。你应该会看到一些令人惊讶的信息。例如,拥有同一依赖项和版本的多个副本,如果您知道这些副本和版本被包含在其中,您将无法预料或接受它们。要解决重复JAR的此问题,可以使用http://maven.apache.org/plugins/maven-dependency-plugin/与…结合https://maven.apache.org/enforcer/maven-enforcer-plugin/.You需要将这些罐子添加到顶级POM的一部分。

 类似资料:
  • 我正在尝试运行https://github.com/hazelcast/hazelcast-nodejs-client的“使用客户端”部分中提供的基本示例代码 我收到连接拒绝错误。我在我的Mac和PC机器上尝试了这个,结果相同。它们运行的是Node v6.9.1。我没有任何特殊的防火墙设置。甚至尝试完全打开Windows防火墙。 我错过了什么吗? 首先,我创建了一个空节点项目,然后: 然后创建了一

  • 例外情况: 原因:java.net.connectException:拒绝连接:在org.springframework.web.client.resttemplate.doexecute连接(resttemplate.java:359)

  • 我的connect调用的结果始终是10061:连接被拒绝。 如果我将服务器代码更改为绑定到::(或者将空主机传递给getaddrinfo()(同样的事情)),并将客户机代码更改为在getaddrinfo()调用中指定空主机,那么V4客户机可以很好地连接。 谁能解释一下为什么?我没有读到任何东西,如果我们想要双套接字行为,我们必须指定一个空主机(因此使用INADDR_ANY)。这不可能是一个要求,因

  • 我是docker新手,我想使用java客户端启动docker容器, 我试过了https://github.com/docker-java/docker-java如下 在bashrc中设置所需的配置 出口DOCKER_HOST=tcp://127.0.0.1:2375 导出DOCKER_OPTS=“-H”tcp://127.0.0.1:2375-Hunix:///var/run/docker.soc

  • 我使用的是Postgres 9.1.5。JDBC在第一个实例中运行良好,但当我再次尝试时,它开始拒绝连接。例如,我使用JDBC登录到我的web应用程序,效果很好。但是,我尝试使用连接获取其他数据,它引发了一个异常:连接被拒绝。我确信我的代码没有问题,因为上次运行良好的登录JDBC也引发了一个异常:连接被拒绝。 重新启动postgres windows服务后,它再次工作。然后,登录JDBC,获取一些

  • 我试图实现一个TCP连接,在服务器端一切正常,但当我运行客户端程序(从客户端计算机)时,我得到以下错误: 服务器代码: 客户端代码: