fix attachment lose #900#918
Open
procothesky wants to merge 2 commits into
Open
Conversation
Owner
|
Thank you for the suggested changes. Is the problem in empty byte arrays handling? I see your code does the same except empty byte arrays filtering |
Author
Thanks for asking, I found two problems when I send byte[] message.
|
3c3a76b to
115cf42
Compare
Author
mrniko
requested changes
Jul 29, 2023
| import com.corundumstudio.socketio.store.pubsub.DispatchMessage; | ||
| import com.corundumstudio.socketio.store.pubsub.PubSubType; | ||
| import io.netty.buffer.Unpooled; | ||
| import org.springframework.lang.NonNull; |
| ByteBuf outBuf = encoder.allocateBuffer(ctx.alloc()); | ||
| outBuf.writeByte(4); | ||
| outBuf.writeBytes(buf); | ||
| outBuf.writeBytes(buf, 0, buf.readableBytes()); |
Owner
There was a problem hiding this comment.
this is what outBuf.writeBytes(buf) exactly does
| List<byte[]> bytes = Arrays.stream(data) | ||
| .filter(o -> o instanceof byte[]) | ||
| .map(b -> (byte[]) b) | ||
| .filter(b -> b.length > 0) |
|
|
||
| if (!CollectionUtils.isEmpty(bytes)) { | ||
| packet.initAttachments(bytes.size()); | ||
| bytes.stream().peek(b -> packet.addAttachment(Unpooled.wrappedBuffer(b))); |
Owner
There was a problem hiding this comment.
the same is done in encodePacket() method
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix the problem that when broadcasting a byte array data to multiple clients in the same room, the client receives 450, 452 and other wrong binaryEvent number messages and has 45x probe header messages missing attachments