My WS JS hosted in Chrome seems to be sending the following frames:
BINARY, isFin = false
CONTINUOUS, isFin = true
Java-WebSocket seems to drop the CONTINUOUS frame on the floor and the application never gets it:
// org/java_websocket/drafts/Draft_6455.java:542
} else if( frame.isFin() ) {
if( current_continuous_frame == null )
throw new InvalidDataException( CloseFrame.PROTOCOL_ERROR, "Continuous frame sequence was not started." );
//Check if the whole payload is valid utf8, when the opcode indicates a text
if( current_continuous_frame.getOpcode() == Framedata.Opcode.TEXT ) {
//Checking a bit more from the frame before this one just to make sure all the code points are correct
int off = Math.max( current_continuous_frame.getPayloadData().limit() - 64, 0 );
current_continuous_frame.append( frame );
if( !Charsetfunctions.isValidUTF8( current_continuous_frame.getPayloadData(), off ) ) {
throw new InvalidDataException( CloseFrame.NO_UTF8 );
}
}
// **** What about if the current_continuous_frame.getOpcode() == Framedata.Opcode.BINARY ****//
current_continuous_frame = null;
Is this expected? Is Chrome breaking the spec? Is this something Java-WebSocket should handle differently?
My WS JS hosted in Chrome seems to be sending the following frames:
BINARY, isFin = false
CONTINUOUS, isFin = true
Java-WebSocket seems to drop the CONTINUOUS frame on the floor and the application never gets it:
Is this expected? Is Chrome breaking the spec? Is this something Java-WebSocket should handle differently?