我正在尝试使用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地址,但是在阅读了文档之后,我找不到任何获取端口的方法。
还有其他获取端口的方法吗?
答案 0 :(得分:0)
看source for get_peer_ip_addr
,它使用get_peer_socket_addr
来获取套接字,该套接字包含地址和端口。不幸的是get_peer_socket_addr
是私有的,因此您无法获取端口。外壳Bugtracker中有一个关于此问题的open question。