std::os::unix::net::SocketAddr

Struct std::os::unix::net::SocketAddr

pub struct SocketAddr { /* fields omitted */ }

An address associated with a Unix socket.

Examples

use std::os::unix::net::UnixListener;

let socket = match UnixListener::bind("/tmp/sock") {
    Ok(sock) => sock,
    Err(e) => {
        println!("Couldn't bind: {:?}", e);
        return
    }
};
let addr = socket.local_addr().expect("Couldn't get local address");

Methods

impl SocketAddr [src]

Returns true if and only if the address is unnamed.

Examples

A named address:

use std::os::unix::net::UnixListener;

let socket = UnixListener::bind("/tmp/sock").unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.is_unnamed(), false);

An unnamed address:

use std::os::unix::net::UnixDatagram;

let socket = UnixDatagram::unbound().unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.is_unnamed(), true);

Returns the contents of this address if it is a pathname address.

Examples

With a pathname:

use std::os::unix::net::UnixListener;
use std::path::Path;

let socket = UnixListener::bind("/tmp/sock").unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.as_pathname(), Some(Path::new("/tmp/sock")));

Without a pathname:

use std::os::unix::net::UnixDatagram;

let socket = UnixDatagram::unbound().unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.as_pathname(), None);

Trait Implementations

impl Clone for SocketAddr [src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for SocketAddr [src]

Formats the value using the given formatter.

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/unix/net/struct.SocketAddr.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部