1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-25 22:53:22 +00:00

Several minor improvments to websockets

- Fire close events instead of failure when open websockets error.
 - Handle ping events. I thought I was doing this already, but this
   requires a WebsocketProtocolHandler. Fixes #118
This commit is contained in:
SquidDev 2019-02-17 19:36:18 +00:00
parent 18d468e887
commit 9f2884bc0f

View File

@ -83,6 +83,11 @@ else if( frame instanceof CloseWebSocketFrame )
CloseWebSocketFrame closeFrame = (CloseWebSocketFrame) frame;
websocket.close( closeFrame.statusCode(), closeFrame.reasonText() );
}
else if( frame instanceof PingWebSocketFrame )
{
frame.content().retain();
ctx.channel().writeAndFlush( new PongWebSocketFrame( frame.content() ) );
}
}
@Override
@ -108,6 +113,13 @@ else if( cause instanceof ReadTimeoutException || cause instanceof ConnectTimeou
message = "Could not connect";
}
websocket.failure( message );
if( handshaker.isHandshakeComplete() )
{
websocket.close( -1, message );
}
else
{
websocket.failure( message );
}
}
}