Hello, I’m trying to do something useful with websockets. I’m unable to find its documentation.
julia> import HTTP.WebSockets help?> HTTP.WebSockets No documentation found. No docstring found for module HTTP.WebSockets.
Not even a docstring.
There two examples here https://github.com/JuliaWeb/HTTP.jl#websocket-examples - but they don’t really explain anything. For example, websockets use so called
messages, as defined in RFC6455. But the example does not use that concept. It just reads from the socket (as a stream with
readavailable) and writes it as a stream. After examinig its source code, it turned out that readavailable reads whole frames.
Can I assume, that
readavailable will always return whole messages, and never fragments?
Also, it seems that there is no upper limit on the message size, and WebSockets.jl simply extends a read buffer (ws.rxpayload) when the message is longer. Since the payload is stored in memory, it would be easy to fill up the server’s memory with a huge message. Is this a known problem? Or maybe I’m not noticing something.