socket.io-client-swift icon indicating copy to clipboard operation
socket.io-client-swift copied to clipboard

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

Open fhfuih opened this issue 8 months ago • 0 comments

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.

fhfuih avatar Jun 20 '24 17:06 fhfuih