- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将东京钨-钨从0.9升级到0.10,它不再具有peer_addr
方法。我正在处理 WebSocketStream
。我已经尝试过了,但以前可以这样做:
use tokio_tungstenite::connect_async;
fn main() {
async fn test() {
println!("Hello, world!");
let url = "wss://echo.websocket.org".to_string();
let (ws_stream, ws_response) = connect_async(url).await.unwrap();
let addr = ws_stream.peer_addr();
println!("peer addr {:?}", addr);
}
}
peer_addr()
不再存在,并且我看不到任何替代物或有关现在该怎么做的说明。我尝试搜索文档和GitHub。
futures = { version = "0.3" }
tungstenite = {version="0.11.0", features=["tls"] }
tokio-tungstenite = { version="0.10.1", features = ["tls"] }
tokio = {version ="0.2.21", features = [ "full" ] }
url = "2.0"
最佳答案
documentation on docs.rs是incorrect。如果您在本地构建文档,则会看到connect_async
的正确签名:
pub async fn connect_async<R>(
request: R
) -> Result<(WebSocketStream<MaybeTlsStream<TcpStream>>, Response), Error>
where
R: IntoClientRequest + Unpin,
您需要访问
TcpStream
才能访问对等地址:
use tokio_tungstenite::{connect_async, stream::Stream};
#[tokio::main]
async fn main() {
let (ws_stream, _) = connect_async("wss://echo.websocket.org").await.unwrap();
let tcp_stream = match ws_stream.get_ref() {
Stream::Plain(s) => s,
Stream::Tls(t) => t.get_ref(),
};
let addr = tcp_stream
.peer_addr()
.expect("connected streams should have a peer address");
println!("peer addr {:?}", addr);
}
Cargo.toml:
[dependencies]
tokio-tungstenite = { version = "0.10.1", features = ["tls"] }
tokio = { version = "0.2.21", features = [ "full" ] }
请注意,您原来的Cargo.toml包含
两种不同版本的钨矿,您确实不希望这样做。另请参见
Why is a trait not implemented for a type that clearly has it implemented?。
关于rust - 如何访问Tokio-Tungstenite 0.10中的对等IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63024046/
我希望我的 C/C++ 客户端通过 SSL 验证服务器。我首先使用 从服务器下载了证书文件 openssl s_client -showcerts -connect www.openssl.org:4
我正在尝试学习使用 RSelenium。我坚持只是尝试使用 rsDriver 启动服务器。我只是想运行下面的代码并得到以下错误: rD = 8 x64 (build 9200) Matrix prod
我已经建立了一个 8 组织的单 channel 结构网络。我能够进行整个网络设置。但是设置成功后。一些 docker 实例停止监听它们各自的端口。当我做 docker ps -a它显示了一些对等节点图
如何在多个 Azure Kubernetes 集群上的 Pod 之间配置路由? 与 Google Cloud 上的 ip-alias/vpc-native 类似的内容 最佳答案 在 AKS 中,我认为
我正在尝试实现点对点连接应用程序。所以我想将 2 个以上的设备相互连接。如何为每对设备创建单独的 session 使用新的 GameKit 框架是否可以连接到 1 个以上的设备? 最佳答案 您可以使用
我一直致力于创建一个 VPC 对等连接,该连接可以使用 cloudformation 从 eu-west-1 与 us-east-1 进行对等。这是目前的云信息: AWSTemplateFormatV
我正在尝试在两个不同区域之间进行 vpc 对等互连。在这里我已经创建了资源,现在我只想将它们的 id 作为参数传递。在同一区域,我可以在两个 VPC 之间进行对等。但我在两个不同的区域收到错误,因为r
我是一名优秀的程序员,十分优秀!