Rust multi-threaded client-server playground server start server: cargo run concepts used: TCP socket server threadpool implementation arc, mutex client start client: cargo run concepts used: recoverable error handling args, stdin