Skip to content

Commit 4e27fa8

Browse files
committed
Fixed minor issue with sending binary/fragmented frames when buffer
position is not 0.
1 parent c17693e commit 4e27fa8

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/main/java/org/java_websocket/drafts/Draft_10.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,12 @@
3131
public class Draft_10 extends Draft {
3232

3333
private class IncompleteException extends Throwable {
34-
34+
3535
/**
3636
* It's Serializable.
3737
*/
3838
private static final long serialVersionUID = 7330519489840500997L;
39-
40-
39+
4140
private int preferedsize;
4241
public IncompleteException( int preferedsize ) {
4342
this.preferedsize = preferedsize;
@@ -63,7 +62,7 @@ public static int readVersion( Handshakedata handshakedata ) {
6362

6463
private ByteBuffer incompleteframe;
6564
private Framedata fragmentedframe = null;
66-
65+
6766
private final Random reuseableRandom = new Random();
6867

6968
@Override
@@ -117,7 +116,7 @@ public ByteBuffer createBinaryFrame( Framedata framedata ) {
117116
ByteBuffer maskkey = ByteBuffer.allocate( 4 );
118117
maskkey.putInt( reuseableRandom.nextInt() );
119118
buf.put( maskkey.array() );
120-
for( int i = 0 ; i < mes.limit() ; i++ ) {
119+
for( int i = 0 ; mes.hasRemaining() ; i++ ) {
121120
buf.put( (byte) ( mes.get() ^ maskkey.get( i % 4 ) ) );
122121
}
123122
} else

src/main/java/org/java_websocket/framing/FramedataImpl1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public void append( Framedata nextframe ) throws InvalidFrameException {
104104

105105
@Override
106106
public String toString() {
107-
return "Framedata{ optcode:" + getOpcode() + ", fin:" + isFin() + ", payloadlength:" + unmaskedpayload.limit() + ", payload:" + Arrays.toString( Charsetfunctions.utf8Bytes( new String( unmaskedpayload.array() ) ) ) + "}";
107+
return "Framedata{ optcode:" + getOpcode() + ", fin:" + isFin() + ", payloadlength:[pos:" + unmaskedpayload.position() + ", len:" + unmaskedpayload.remaining() + "], payload:" + Arrays.toString( Charsetfunctions.utf8Bytes( new String( unmaskedpayload.array() ) ) ) + "}";
108108
}
109109

110110
}

0 commit comments

Comments
 (0)