5 ms·
Show HN: Wsta – a CLI for working with WebSockets written in Rust
- nfriedly 10y agoCan I use this to send an initial JSON message and then pipe audio data from my mic? (I wouldn't be surprised if this is possible with standard UNIX magic... But I just don't know how.)
- tty7 10y agoSomething like: arecord -fdat | wsta ws:// ?
- nindwen 10y agoSupposing this is correct, you can add the json with cat: arecord -fdat | cat init.json - | wsta ws://
- nfriedly 10y agoYep, that sounds like the magic I was looking for. I'll try it out later today.
- esphen 10y agoHoller if it works, that sounds pretty awesome!
- deleted 10y ago[deleted]
- nfriedly 10y agoI tried a few different things and couldn't make it work. I think the problem is that the audio data is getting sent as a text websocket message rather than binary message. I got a whole bunch of "error: stream did not contain valid UTF-8" and "No JSON object could be decoded" errors that I think both came from the remote end.
- devy 10y agoI have been using `wscat`[1] when I was developing a WebSocket app last year. It was a nifty little tool although it would require the entire nodejs / npm stack to be able to run it. `wsta` is probably more portable as all we need is just a native binary to run. [1]: https://www.npmjs.com/package/wscat https://www.npmjs.com/package/wscat
- esphen 10y agoYep, wscat is pretty a pretty nice tool! I used it as well, but it always bothered me that I couldn't tell it what to send to the server when running it. It's super handy to be able to file bugs with a one-liner to reproduce the bug. That lead me to fork it and send a PR with that feature. It never got merged, so I simply created a new project, which ultimately lead to this :)
- devy 10y agoGlad to hear the back story of wsta! :)
- qwertyuiop924 10y agoBut it needs a better name. I'm thinking telweb :-D.
- dpc_pw 10y agoFor users, I think it's better to ask to install rustup from rustup.sh, and then just `cargo install wscat`.
- esphen 10y agoQuite true. Thanks for the tip!
- oliver006 10y agoShameless plug: I built something similar in Golang a while ago: https://github.com/oliver006/ws-client https://github.com/oliver006/ws-client