如何从地壳会话中检索端口?

问题描述 投票:-2回答:1

我正在尝试从crust箱子中的例子,但无法想象如何从我连接的同伴获得端口。

地壳示例包括以下功能

use crust::Service;

pub fn print_connected_nodes(&self, service: &Service) {
    println!("Node count: {}", self.nodes.len());
    for (id, node) in &self.nodes {
        let ip = service.get_peer_ip_addr(node).unwrap();
        let status = if service.is_connected(node) {
            "Connected   "
        } else {
            "Disconnected"
        };

        println!("[{} - {}] {} {:?}", id, ip, status, node);
    }

    println!();
}

在那里我可以建立连接并使用let ip = service.get_peer_ip_addr(node)获取IP地址,但在阅读文档后,我找不到任何获取端口的方法。

有另一种获取端口的方法吗?

rust
1个回答
0
投票

看看source for get_peer_ip_addr,它使用get_peer_socket_addr来获取套接字,其中包含地址和端口。不幸的是get_peer_socket_addr是私人的,所以你不能得到这个端口。在地壳bugtracker中有一个关于这个问题的open question

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