Cloud foundry web套接字与cloud foundry中的stompEndPoint失去连接
我在SpringBoot中创建了一个web套接字,并在CloudFoundry中部署了它。 在localhost中,它运行正常,但在CloudFoundry中,它表示与stompEndPoint的连接已断开 加载资源失败:服务器响应状态为404(未找到) 跺脚。min.js:8 正在打开Web套接字。。。 摘要xhr.js:132 获取https://“CF APP URL”/websocket示例/info?t=1536076909829 404(未找到) 哎呀!与https://“CF APP URL”/websocket示例的连接中断 代码如下:Cloud foundry web套接字与cloud foundry中的stompEndPoint失去连接,cloud-foundry,spring-websocket,Cloud Foundry,Spring Websocket,我在SpringBoot中创建了一个web套接字,并在CloudFoundry中部署了它。 在localhost中,它运行正常,但在CloudFoundry中,它表示与stompEndPoint的连接已断开 加载资源失败:服务器响应状态为404(未找到) 跺脚。min.js:8 正在打开Web套接字。。。 摘要xhr.js:132 获取https://“CF APP URL”/websocket示例/info?t=1536076909829 404(未找到) 哎呀!与https://“CF AP
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer{
private static final Logger LOG = (Logger) LoggerFactory.getLogger(WebSocketConfig.class);
@Override
public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
try {
stompEndpointRegistry
.addEndpoint("/websocket-example")
.setAllowedOrigins("*")
.withSockJS();
}catch(Exception e) {
LOG.error("WebSocketConfig in Exception : {}. Caused by: ", e.getMessage(), e);
}
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic");
registry.setApplicationDestinationPrefixes("/app");
}
此错误的可能原因是什么?HTTP 404表示找不到您请求的资源。你确定你有正确的URL吗?在CF中可能会有所不同?与许多环境不同,CF将在根上下文路径中部署您的应用程序。另外,请查看您浏览器的开发工具以获取更多信息(JS控制台和网络面板)。嗨,Daniel,谢谢您的回复,我使用命令“CF apps”从CF获取了URL,因此我的URL是正确的,我在问题中提到的日志仅来自控制台。您使用的是哪个提供商?你在哪里运行你的应用程序?有些提供商为WebSocket使用不同的端口,你可能会遇到这种情况。我已经在cloud foundry中部署了我的应用程序,它不是一个关键的cloud foundry。cloud foundry默认使用8080端口。我试图给主机和端口也不工作。例如:var socket=newsockjs('https://:8080/websocket示例');日志显示与https://:8080/websocket示例的连接丢失