java websocket 生存期_java-JSR-356:如何在握手期间中止websocket连接...

没错,请使用“ modifyHandShake()”更新响应标头,您需要完全删除或设置标头Sec-WebSocket-Accept的值,请从the spec中进行检查

The |Sec-WebSocket-Accept| header field indicates whether

the server is willing to accept the connection. If present, this

header field must include a hash of the client’s nonce sent in

|Sec-WebSocket-Key| along with a predefined GUID. Any other value

must not be interpreted as an acceptance of the connection by the

server.

HTTP/1.1 101 Switching Protocols

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

These fields are checked by the WebSocket client for scripted pages.

If the |Sec-WebSocket-Accept| value does not match the expected

value, if the header field is missing, or if the HTTP status code is

not 101, the connection will not be established, and WebSocket frames

will not be sent.

您的代码如下所示:

@Override

public void modifyHandshake(ServerEndpointConfig sec,

HandshakeRequest request, HandshakeResponse response) {

super.modifyHandshake(sec, request, response);

response.getHeaders().put(HandshakeResponse.SEC_WEBSOCKET_ACCEPT, new ArrayList());

}

浏览器将解释为服务器未接受连接.例如在chrome中我得到消息

Error during Websocket handshake

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值