gpt4 book ai didi

asynchronous - 从 Tokio 应用程序使用 Actix:混合 actix_web::main 和 tokio::main?

转载 作者:行者123 更新时间:2023-12-03 11:38:04 33 4
gpt4 key购买 nike

目前我有一个主要的写成 async example for the Reqwest library .

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
我们可以使用那里的确切示例。现在我想基本上添加一个 -l <port>标志来改变我的应用程序的行为,当以这种方式触发时,我希望它监听端口并运行 Web 服务器。我想使用 Actix Web这是这样记录的,
#[actix_web::main]
async fn main() -> std::io::Result<()> {
我怎样才能合成两个 fn main : 一个饰有 #[actix_web::main]一个装饰着 #[tokio::main]从已经使用 Tokio 的应用程序中使用 Actix Web?我找不到任何文档
这个?我们如何从 Actix Web 服务器使用 Tokio 的东西,我们如何将 Tokio 应用程序移植到 Actix Web 应用程序?

最佳答案

由于 Actix-web 内部使用 Tokio,当您使用 #[actix_web::main] 时,您将能够像使用 #[tokio::main] 一样使用所有常用的 Tokio 实用程序。 .
但是请注意,您需要正确匹配 Tokio 的版本。 Actix-web版3.x.y使用东京 0.2.x ,因此在使用该版本的 Actix 时,您需要使用适用于该版本 Tokio 的实用程序。要使用最新版本的 Tokio,您需要使用 4.0.0-beta.x Actix-web 版本。
一旦 Actix-web 4 结束测试,请随时编辑此答案。

关于asynchronous - 从 Tokio 应用程序使用 Actix:混合 actix_web::main 和 tokio::main?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66416174/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com