Closed anganing closed 3 months ago
你的基础路径是指配置了server.servlet.context-path这个属性吗
我额外加一个相互连接时候的路径前缀配置,应该能解决你的问题
你那边可以升2.x版本吗,可以的话我就在2.x版本上加这个
你的基础路径是指配置了server.servlet.context-path这个属性吗
是的,大佬,我把你类复写一下就没问题了
我额外加一个相互连接时候的路径前缀配置,应该能解决你的问题
你那边可以升2.x版本吗,可以的话我就在2.x版本上加这个
我测试一下 2版本,大佬同时有个问题请教一下 这个做心跳检测怎么做呢 前端发一个 ping 过来 我如何去返回一个 pong 字符串给前端
我额外加一个相互连接时候的路径前缀配置,应该能解决你的问题 你那边可以升2.x版本吗,可以的话我就在2.x版本上加这个
我测试一下 2版本,大佬同时有个问题请教一下 这个做心跳检测怎么做呢 前端发一个 ping 过来 我如何去返回一个 pong 字符串给前端
这个库自带了心跳检测的,有对应的配置
如果你自己实现的话可以按照你上面写的那样,不过需要手动处理转发的心跳数据
javax的websocket有自带的发送ping和pong的方法,而且会自动处理ping并返回pong
你可以看看这篇文章有提到相关的内容 https://juejin.cn/post/7111132777394733064#heading-5
这个库自带了心跳检测的,有对应的配置
如果你自己实现的话可以按照你上面写的那样,不过需要手动处理转发的心跳数据
javax的websocket有自带的发送ping和pong的方法,而且会自动处理ping并返回pong
你可以看看这篇文章有提到相关的内容 https://juejin.cn/post/7111132777394733064#heading-5
好的,感谢您的解答,不过我看您其他长连接的很多库都没有读取server.servlet.context-path这个路径进去呢
2.6.0的版本加了配置可以解决连接其他实例404的问题,可以试一下
concept:
websocket:
load-balance:
subscriber-endpoint: /api/sys/concept-websocket-subscriber #这里配置连接的端点
依赖名称:
依赖版本: 1、2版本都有该问题 问题描述: 我的基础路径是 /api/sys 而该库在降自身实例连接到其他ws时没有加上这个前缀导致连接404
异常堆栈:
2024-05-13 15:55:52 | INFO | com.github.linyuzai.connection.loadbalance.core.monitor.LoadBalanceMonitorLogger | info:28 | LBWebSocket >> Start running monitor for load balance 2024-05-13 15:55:52 | INFO | org.springframework.web.socket.client.WebSocketConnectionManager | startInternal:117 | Starting WebSocketConnectionManager 2024-05-13 15:55:52 | INFO | org.springframework.web.socket.client.WebSocketConnectionManager | openConnection:136 | Connecting to WebSocket at ws://10.10.52.56:8084/concept-websocket-subscriber 2024-05-13 15:55:52 | ERROR | org.springframework.web.socket.client.WebSocketConnectionManager | onFailure:150 | Failed to connect javax.websocket.DeploymentException: The HTTP response from the server [404] did not permit the HTTP upgrade to WebSocket at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServerRecursive(WsWebSocketContainer.java:437) at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:197) at org.springframework.web.socket.client.standard.StandardWebSocketClient.lambda$doHandshakeInternal$0(StandardWebSocketClient.java:151) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:745)