3.教程:编写聊天
没有什么比创建聊天服务器更简单的了,对吧?不完全是,聊天服务器让您体验异步编程的所有乐趣:
服务器将如何处理同时连接的客户端?
它将如何处理他们断开?
它将如何分发消息?
本教程介绍如何用async-std编写聊天服务器。
您还可以在我们的仓库中找到教程。
3.1 规范和开始
3.1.1 规范
聊天使用TCP上的简单文本协议。协议由utf-8消息组成,用分隔符\n分隔。
客户端连接到服务器并作为第一行发送登录信息。之后,客户端可以使用以下语法向其他客户端发送消息:
login1, login2, ... loginN: message
然后,每个指定的客户端都会收到一条from login::message的消息。
可能的会话可能是这样的:
On Alice's computer: | On Bob's computer:
> alice | > bob
> bob: hello < from alice: hello
| > alice, bob: hi!
< from bob: hi!
< from bob: hi! |
3.1.2 快速开始
创建一个Cargo项目:
$ cargo new a-chat
$ cd a-chat
在Cargo.toml增加依赖库信息:
[dependencies]
futures = "0.3.0"
async-std = "1"