从零开始编写基础 Web 服务器
1. TCP/IP 网络模型概述
TCP/IP 网络模型包含多个层次,其中网络层和网络访问层是重要组成部分:
- 网络层 :利用 IP 地址和路由器来定位并将信息包路由到跨网络的主机。与专注于在由 IP 地址和端口号标识的两个服务器之间发送和接收原始字节的传输层不同,网络层决定了将数据包从源发送到目的地的最佳路径。不过,我们无需直接与网络层交互,Rust 的标准库提供了与 TCP 和套接字交互的接口,并处理网络层通信的内部细节。
- 网络访问层 :是 TCP/IP 网络模型的最底层,负责通过主机之间的物理链路(如使用网卡)传输数据。对于我们的需求而言,用于网络通信的物理介质是什么并不重要。
2. 在 Rust 中编写 TCP 服务器
2.1 TCP/IP 通信流程设计
Rust 标准库通过 std::net 模块提供网络原语,其文档可在 这里 找到。该模块支持基本的 TCP 和 UDP 通信。 TcpListener 和 TcpStream 这两个特定的数据结构包含了实现我们场景所需的大部分方法。
- TcpListener :用于创建绑定到特定端口的 TCP 套接字服务器。客户端可以向指定套接字地址(机器的 IP 地址和端口号的组合)的套接字服务器发送消息。一台机器
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



