3.1 规格说明与入门

原文链接: https://book.async.rs/tutorial/specification.html

规范

聊天程序使用基于 TCP 的简单文本协议。 协议由以 \n 分隔的 utf-8 消息组成。

客户端连接到服务器后,第一行发送登录名。 之后,客户端可以使用以下语法向其他客户端发送消息:

1
login1, login2, ... loginN: message

每个指定的客户端随后会收到一条 from login: message 消息。

一次可能的会话可能如下所示:

1
2
3
4
5
6
7
在 Alice 的电脑上:     |   在 Bob 的电脑上:

> alice                |   > bob
> bob: hello               < from alice: hello
                       |   > alice, bob: hi!
                           < from bob: hi!
< from bob: hi!        |

聊天服务器的主要挑战是跟踪大量并发连接。 聊天客户端的主要挑战是管理并发的出站消息、入站消息和用户输入。

入门

让我们创建一个新的 Cargo 项目:

1
2
$ cargo new a-chat
$ cd a-chat

在 Cargo.toml 中添加以下内容:

1
2
3
[dependencies]
futures = "0.3.0"
async-std = "1"
最后修改 August 23, 2026: 更新 (499855b16)