# async-chat **Repository Path**: programming-rust/async-chat ## Basic Information - **Project Name**: async-chat - **Description**: Programming Rust 2nd Edition 随书源码 - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-07 - **Last Updated**: 2023-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Asynchronous chat client and server from _Programming Rust_ This repository contains the source code for the chat client and server written using the Rust language's asynchronous programming features. It is described in Chapter 20 of the book _Programming Rust_, by Blandy, Orendorff, and Tindall (ISBN 978-1-492-05259-3). To run the server, type: $ cargo run --release --bin server -- localhost:8088 To run the client, type: $ cargo run --release --bin client -- localhost:8088 The client supports only two commands: - join group - Join the group named group. If that group does not exist, it is created. The name of the group must not contain any spaces. - post group message - Post message to the chat group named group. The group name must not contain any spaces, but the message can. There is no command to leave a group. There is no concept of a user name. To exit the client, hit ctrl-D on Linux or macOS, or ctrl-Z on Windows. An example client session: $ cargo run --release --bin client -- localhost:8088 Finished release [optimized] target(s) in 0.04s Running `/home/jimb/rust/book/tests/chapters/asynchronous/target/release/client 'localhost:8088'` Commands: join GROUP post GROUP MESSAGE... Type Control-D (on Unix) or Control-Z (on Windows) to close the connection. join dogs post dogs I love dogs! message posted to dogs: I love dogs! message posted to dogs: Whaddya know, I do too! message posted to dogs: Hello, dog lovers! post dogs Hi! message posted to dogs: Hi! ctrl-D $