from_str
được đổi tên thành parse
và bây giờ là một phương pháp bạn có thể gọi trên dây:
use std::net::SocketAddr;
fn main() {
let server_details = "127.0.0.1:80";
let server: SocketAddr = server_details.parse()
.expect("Unable to parse socket address");
println!("{:?}", server);
}
Nếu bạn muốn để có thể mục DNS quyết để IPV {4,6 địa chỉ}, bạn có thể muốn sử dụng ToSocketAddrs
:
use std::net::{TcpStream,ToSocketAddrs};
fn main() {
let server_details = "stackoverflow.com:80";
let server: Vec<_> = server_details.to_socket_addrs()
.expect("Unable to resolve domain")
.collect();
println!("{:?}", server);
// Even easier, if you want to connect right away:
TcpStream::connect(server_details)
.expect("Unable to connect to server");
}
to_socket_addrs
trả về một iterator như một hát Mục nhập le DNS có thể mở rộng đến nhiều địa chỉ IP! Lưu ý rằng mã này sẽ không hoạt động trong Playground vì quyền truy cập mạng bị tắt ở đó; bạn sẽ cần dùng thử tại địa phương.
Cảm ơn bạn! Hoạt động tuyệt vời! – user3746744