Websocket client in Julia (how to)



Websockets.jl seems to be a server side implementation only. On the client side, I’ve found the following DandelionWebSockets.jl. Is this the recommended way to listen and work with web-sockets in Julia? If not, what are the alternatives? I want to fill a Julia array with certain parsed text objects every time a message is pushed through the web-socket. Any example code on how to do this would be appreciated.



I’m the original author of DandelionWebSockets.jl. It’s not under active development, but a few volunteers have been making an effort to update it to Julia 0.6. I’m hoping someone will fork it, and keep it under active maintenance, but I wouldn’t count on DandelionWebSockets.jl being actively maintained right now.



Quick update: DandelionWebSockets is again under active development and maintenance.


Very cool to hear. Do you have any plans to merge this effort with JuliaWeb’s Websockets.jl?


It’s not something we’ve discussed, but it’s a definite possibility. Right now I’m focusing on covering as much as possible of the specification.


Btw, HTTP.jl now has capability to operate as both a WebSocket client and a WebSocket server.


Wow, HTTP also have very few dependencies as I can see, nice!


We now have three options for client side websockets, which can only be good:

Thanks to a pull request from EricForgy and Sam o Connor, WebSockets.jl can connect through either Http.jl or HttpServer.jl.


Great work @hustf getting that POC into shape :muscle:

I don’t know if everyone agrees quite yet, but a few of us hope to see a general migration away from HttpServer.jl to HTTP.jl so this helps people relying on WebSockets make the switch.


Thanks, Eric. I havent figured out how to do logging properly yet with http.jl, so I kind of hope somebody will merge the necessary prs on the httpserver side of things too. Httpserver will never become a full fledged server without some brave changes that are possible with less consercatism, but it is still useful for local work.

For example, I hope to test driving Simmetri https://support.simmetri.com/hc/en-us and Lua through websockets. If I get that far, the aerodynamic force calculation will be from Julia while the rest is Simmetri.