java - 信息 : WebSocket connection closed, 代码:尝试运行 websocket 示例时出现 1006

标签 java tomcat websocket tomcat8 embedded-tomcat-8

我已经嵌入了 tomcat 8.0.20 并在我的服务器中使用它。我构建了 tomcat websocket 示例,当我尝试在我的服务器中为所有 4 个示例(Echo、聊天等)运行它时。 我得到了

Info: WebSocket connection closed, Code: 1006

在控制台中它打印类似(每个样本的 url 都是正确的)

WebSocket connection to 'ws://localhost:9763/examples/websocket/echoProgrammatic' failed: Error during WebSocket handshake: Unexpected response code: 302

当我在 tomcat 上部署它时,它显示 404 错误而不是 302。

谁能告诉我这可能是什么原因?

在pom中,我的依赖如下

 <dependency>
     <groupId>javax.websocket</groupId>
     <artifactId>javax.websocket-api</artifactId>
     <version>1.0</version>
     <scope>provided</scope>
 </dependency>

似乎未正确部署 websocket 实现。有人可以帮忙吗?

最佳答案

<dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.0</version> <scope>provided</scope> </dependency>

使用 Tomcat (groupId: org.apache.tomcat) 提供的 websocket API 和 websocket 实现,而不是一些随机的第三方 jar。

你可以搜索Maven或者在源码的res/maven目录下查看pom文件。

范围“提供”意味着jar 仅在编译时使用,不会在运行时使用。

顺便说一句,当前版本的 Tomcat 实现了 WebSocket 1.1。

websocket 端点扫描由 javax.servlet.ServletContainerInitializer 的实现触发(在 META-INF/services/javax.servlet.ServletContainerInitializertomcat-websocket.jar 文件中配置)。

关于java - 信息 : WebSocket connection closed, 代码:尝试运行 websocket 示例时出现 1006,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839137/

相关文章:

websocket - ASP.NET Core 1.0 WebSocket 设置?

java - 如何探索从哪些 JAR 加载哪些类?

java - 为什么父构造函数中的方法实际上调用子方法

java - 在 Windows 64 上以 32 位模式运行 java

java - 是否可以制作 JavaFX web 小程序?

java - Apache Tomcat : "Context variable"

java - jetty ,网络套接字,java.lang.RuntimeException : Cannot load platform configurator

javascript - Node 服务器随机达到 100% 然后崩溃。如何诊断?

java - 在 Azure 应用服务中访问 Tomcat 和 Webapp 日志

java - 无法解析 - org.dom4j.DocumentException : org. dom4j.DocumentFactory 无法转换为 org.dom4j.DocumentFactory