Skip to content

Binary data in base64 encoding (Polling) is not padded, causing compatibility issue with other SocketIO clients/servers #1496

Open
@fhfuih

Description

@fhfuih

This is actually not this library's fault: swift's built in base64EncodedString function does not right-pad the base 64 string (which is standard), and this leads to several compatibility issues not only for socketIO (An example StackOverflow issue).

I use Swift's socketIO as the client and a python socketIO server. The python base64 library strictly follows the standard, so it throws an error at Swift SocketIO's base64 message. This is my original discussion thread under the python socketIO repo and the author's reply.

Therefore, I think the Swift SocketIO library can manually add right padding after calling the built-in base64EncodedString function.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions