Rust Web 全栈开发之自建TCPHTTP Server

Posted 小乔的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust Web 全栈开发之自建TCPHTTP Server相关的知识,希望对你有一定的参考价值。

Rust Web 全栈开发之自建TCP、HTTP Server

课程简介

预备知识

课程主要内容

  • WebService
  • 服务器端Web App
  • 客户端Web App(WebAssembly)
  • Web框架:Actix
  • 数据库:PostgreSQL
  • 数据库连接:SQLx

全部使用纯Rust编写!

一、构建TCP Server

本节内容

  • 编写TCP Server和Client

std::net模块

  • 标准库的std::net模块,提供网络基本功能
  • 支持TCP和UDP通信
  • TcpListener和TcpStream

创建项目

~/rust via 

「Rust笔记」Rust之自定义宏写法

宏的分类

1)宏按照来源分类

声明宏(Declarative Macro)和过程宏(Procedural Macro)。

前者指的是用某种语法直接声明出的宏。

后者是对应直接生成抽象语法树的过程的宏。

2)宏按照使用方式分类

属性宏:给声明添加属性的宏,例如 #[derive(Debug)] 和 #[test]。

调用宏:像函数一样的宏,例如 println!。

3)来源分类与使用分类直接关系

明宏都是用 macro_rules! 声明出的,它声明出的一定是调用宏。过程宏可以产生属性宏,也可以产生调用宏,也就是说,属性宏都是过程宏,调用宏可能是声明宏或者过程宏。

宏的定义

使用 macro_rules!进行自定义

常用的println()宏的大概形式:

macro_rules! println 
  () => (println!("\\n"));
  ($fmt: expr) => (print!(concat!($fmt, "\\n")));
  ($fmt: expr, $($(arg:tt)*) =>
    (print!(concat!($fmt, "\\n"), $($arg)*));

1) 组成部分

有三个部分,输入分别是 ()、($fmt:ex

以上是关于Rust Web 全栈开发之自建TCPHTTP Server的主要内容,如果未能解决你的问题,请参考以下文章

Rust Web 全栈开发之 Actix 尝鲜并构建REST API

iOS开发之-- oc 和 swift混编之自建桥接文件

「Rust笔记」Rust之自定义宏写法

JS事件之自建函数bind()与兼容性问题解决

python 全栈开发,(web应用,http协议简介)

容器指南之自定义LNMP容器镜像