tokio-tungstenite<TcpStream> 中的 MaybeTlsStream

问题描述 投票:0回答:1

我正在尝试构建一个处理异步 Websocket 通信的结构。我正在努力设置连接,作为其中的一部分,我正在使用

tokio_tungstenite::connect::connect_async()
。我想将其返回值存储为我正在处理的结构中的字段。

我尝试过以下方法:

use tokio_tungstenite::tungstenite::stream::MaybeTlsStream;
use tokio_tungstenite::WebSocketStream;

pub struct WrAsyncSocket {
    m_socket_stream: Option<WebSocketStream<MaybeTlsStream<TcpStream>>>,
}

有了这个,我尝试导入两者:

tokio::net::tcp::stream::TcpStream

tokio::net::TcpStream

但是,这两种方法都会在

TcpStream
的任何实例上导致以下错误:

the trait bound `tokio::net::TcpStream: std::io::Read` is not satisfied
the trait `std::io::Read` is not implemented for `tokio::net::TcpStream`rustcClick for full compiler diagnostic
stream.rs(63, 28): required by a bound in `tokio_tungstenite::tungstenite::stream::MaybeTlsStream`

关于我应该在这里做什么有什么建议吗?

rust network-programming rust-tokio tungstenite
1个回答
0
投票

您可能想导入

tokio_tungstenite::MaybeTlsStream
。您使用的是从钨矿板条箱(不是
async
)重新出口的,而这是它的
async
版本。

© www.soinside.com 2019 - 2024. All rights reserved.