Yeauty

Results 244 comments of Yeauty

服务端用session.close()就可以了

> > > 服务端用session.close()就可以了 > > > > > > 关于异常中断重连请教2个问题: 背景: ws连接偶尔会与服务端发生异常断开,所以业务上增加了重试机制。但当业务场景结束后,服务端主动close后,不希望客户端再重连上来。 问题: > > > > 1. 客户端是否能感知到session断开是网络异常,还是服务端主动关闭的? > > 2. 服务端在调用close的时候,是否可以指定CloseEvent?这样客户端就可以在收到这个CloseEvent后不进行重连。 > > > > 谢谢! >...

> 相关问题: [请问可以在OnClose里获取close状态码吗](https://github.com/YeautyYE/netty-websocket-spring-boot-starter/issues/154) > > 这份code代码应该是websocket的规范定义, 从导入的依赖中能找到一个类也同样记录了这个code: javax.websocket.CloseReason > > 目前引入本仓库框架, 业务逻辑处理后, 主动调用session.close() 方法, 但该方法没有办法去指定code。 而客户端被断开后调用onclose() 就会看到e的代码默认代码1006 -> 异常断开 > > ps: 客户端的包: "dependencies": { "faye-websocket": "^0.11.4" } > >...

你是怎么重写的,继承吗?

不继承的话,不会触发ConditionalOnMissingBean

OnMessage是用来接收websocket消息的,websocket消息不是http请求,不会有url上的参数

> `@OnMessage public void onMessage(String message,@PathParam("key") String key ) {` Spring的WebScoekt可以获取链接地址里的参数,如果可以获取,会减少业务编码的复杂度 没有太大必要性,毕竟这个是OnOpen的时候就确定的。 如果需要,自己找个地方放一下就行,框架强制存一份相对比较重,不合适

> 倒不是要框架去存一份,你写的是满足链接地址上取值的,但是这必须是其他类型不能是String。 String类型不支持因为你的实现如此,onMessage方法中的所有String字段都会赋值上msg。 连接只有在客户端发起http请求的时候才有,后面发消息的时候不存在连接,只有msg。 不存的话,不可能拿得到

在握手完毕建立连接后,http相关请求行,请求头都应该抛弃掉,成为一个纯粹的websocket通道

> 要是纯粹是这样也没有问题,open的时候可以把信息存在session中,发送信息的时候在session中获取。 但是现在是支持其他类型,单单不支持String,所以我提了这个问题。 onMessage是被框架回调的,支持其他类型你如何使用呢