Skip to content

Support Message Fragmentation #96

Open
@EnTerr

Description

@EnTerr

I thought of spinning my observation from here #94 (comment) into separate issue, here it goes:

It seems that receive (not only in sync but otherwise too, see https://github.com/lipp/lua-websockets/search?utf8=%E2%9C%93&q=first_opcode ) concatenates bunch of frames into a single string and returns the 1st opcode only! Meaning that if the 1st opcode was PONG, everything will get labeled so, regardless it is BINARY/TEXT. Or if the 1st opcode is BINARY and PONG is one of the next frames, it will disappear.

When i think of it - a mix of BINARY / TEXT / etc all gets "mushed" together and that should not be the case. Because e.g. TEXT is UTF8 and should be handled differently.

Seems to me a proper handling should return only 1 frame and its corresponding 1 opcode, keeping the rest for the next call - perhaps akin to how i "save" frames for later consumption in #80

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions