netty-websocket-spring-boot-starter
netty-websocket-spring-boot-starter copied to clipboard
关于主动关闭socket连接的想法
@onClose 是监听关闭事件的,,, 我们能否在 服务端 实现主动关闭连接, 而client端的 ws.close 方法是客户端的主动关闭。
服务端用session.close()就可以了
服务端用session.close()就可以了
关于异常中断重连请教2个问题: 背景: ws连接偶尔会与服务端发生异常断开,所以业务上增加了重试机制。但当业务场景结束后,服务端主动close后,不希望客户端再重连上来。 问题:
- 客户端是否能感知到session断开是网络异常,还是服务端主动关闭的?
- 服务端在调用close的时候,是否可以指定CloseEvent?这样客户端就可以在收到这个CloseEvent后不进行重连。
谢谢!
服务端用session.close()就可以了
关于异常中断重连请教2个问题: 背景: ws连接偶尔会与服务端发生异常断开,所以业务上增加了重试机制。但当业务场景结束后,服务端主动close后,不希望客户端再重连上来。 问题:
- 客户端是否能感知到session断开是网络异常,还是服务端主动关闭的?
- 服务端在调用close的时候,是否可以指定CloseEvent?这样客户端就可以在收到这个CloseEvent后不进行重连。
谢谢!
这个有方案么 , 目前服务端调用close() 客户端收到的code为1006, 想要区分这块的code. 谢谢
服务端用session.close()就可以了
关于异常中断重连请教2个问题: 背景: ws连接偶尔会与服务端发生异常断开,所以业务上增加了重试机制。但当业务场景结束后,服务端主动close后,不希望客户端再重连上来。 问题:
- 客户端是否能感知到session断开是网络异常,还是服务端主动关闭的?
- 服务端在调用close的时候,是否可以指定CloseEvent?这样客户端就可以在收到这个CloseEvent后不进行重连。
谢谢!
这个有方案么 , 目前服务端调用close() 客户端收到的code为1006, 想要区分这块的code. 谢谢
客户端自己调用close自己知道,不需要判断code。 另外,客户端怎么实现,服务端也没办法控制
相关问题: 请问可以在OnClose里获取close状态码吗
这份code代码应该是websocket的规范定义, 从导入的依赖中能找到一个类也同样记录了这个code: javax.websocket.CloseReason
目前引入本仓库框架, 业务逻辑处理后, 主动调用session.close() 方法, 但该方法没有办法去指定code。
而客户端被断开后调用onclose() 就会看到e的代码默认代码1006 -> 异常断开
ps: 客户端的包:
"dependencies": {
"faye-websocket": "^0.11.4"
}
期望: 因为服务端已经做了相应的逻辑处理。期望给客户端返回的code 为1000 正常断开,如果1006 将会触发重连逻辑。
相关问题: 请问可以在OnClose里获取close状态码吗
这份code代码应该是websocket的规范定义, 从导入的依赖中能找到一个类也同样记录了这个code: javax.websocket.CloseReason
目前引入本仓库框架, 业务逻辑处理后, 主动调用session.close() 方法, 但该方法没有办法去指定code。 而客户端被断开后调用onclose() 就会看到e的代码默认代码1006 -> 异常断开
ps: 客户端的包: "dependencies": { "faye-websocket": "^0.11.4" }
期望: 因为服务端已经做了相应的逻辑处理。期望给客户端返回的code 为1000 正常断开,如果1006 将会触发重连逻辑。
目前没支持code,会纳入下个版本
这个其实可以用session.channel().writeAndFlush(new CloseWebSocketFrame(status)).addListener(Netty.close)
谢谢建议 session.channel().writeAndFlush(new CloseWebSocketFrame(NORMAL_CLOSURE)).addListener((ChannelFutureListener.CLOSE));