NiceLeeのBlog 用爱发电 bilibili~

Rust 学习规划/总结

2022-11-08
nIceLee

阅读:


嗯。。。最近在学习Rust这门语言。
在这之前就有个规划,先抱着做一个小项目的目标学一遍,然后把这个想法实现(肯定会遇到很多实际问题然后解决),然后再回顾一遍查漏补缺。
本篇既是之前的规划,也是项目实现之后的总结。

我学的是什么教程

想做的事情和遇到的问题

  • 设置镜像代理
    在国内开发,换源换镜像是个普遍状况了。毕竟cargo官方源下载依赖实在是太慢。

  • 配置文件,全局使用
    我想在开局从文件中读取配置,作为全局变量。这在其它语言里面是一件非常easy的一件事情,但在这里变得有点复杂。
    我如果想用静态常量,那么必须一开始就初始化,没法从文件读取。
    我如果想用变量,那么必须来一套Arc + Mutex,以使得它们能够用于多线程而不会编译报错。
    但是明明知道配置读取以后就不会变化,我们在读取的时候还要去加锁去竞争,显然效率非常低下。

  • HTTP(S)代理(同步 + 异步)
    我想做的东西比这个要复杂一点点,但也只有那么一点点。

  • 建立或监听TLS加密连接
    给单纯的TCP连接套上一层壳。

  • HTTPS WebSocket通道
    本地与远程之间建立加密的WebSocket通道,远程代理转发本地接收到的HTTP(S)流量。

  • 交叉编译
    如果想要跨平台的话,要么选择对应平台的容器分别进行编译,要么进行交叉编译。

  • 比较时差大小犯的错误 时间戳是u128类型,unsigned无符号,这个问题卡了我很久,就很郁闷。

代码

rust-http-proxy-demo


内容
隐藏