Client https://github.com/zkirill/thor
Server https://github.com/zkirill/odin
You need Rust 1.7.0 and Cargo 0.9.0 to compile. The package for FreeBSD doesn't currently go that high so you need to use a port (instructions at https://gist.github.com/zkirill/4fb42b4ba4b7cc58c4f0)
Packages of interest:
* IO (epoll, kqueue) used by the server to handle many WebSocket connections on the same thread. See bottom of the MIO README for performance comparisons to other implementations: https://github.com/carllerche/mio
* WebSocket server dependent MIO: https://github.com/housleyjk/ws-rs
* WebSocket client: https://github.com/cyderize/rust-websocket
* GUI (connects to X or Wayland): https://github.com/PistonDevelopers/conrod