当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust SocketAddr.from_abstract_namespace用法及代码示例


本文简要介绍rust语言中 std::os::unix::net::SocketAddr.from_abstract_namespace 的用法。

用法

pub fn from_abstract_namespace(namespace: &[u8]) -> Result<SocketAddr>

从命名空间创建一个抽象域套接字地址

与传统的基于路径的 Unix 套接字不同,抽象地址不会创建文件。这样做的好处是,当绑定到它的套接字关闭时,该地址将消失,因此不需要文件系统清理。

抽象命名空间的前导空字节被自动添加。

这是一个特定于 Linux 的扩展。在 unix(7) 中查看更多信息。

错误

如果给定的命名空间太长,这将返回错误

例子

#![feature(unix_socket_abstract)]
use std::os::unix::net::{UnixListener, SocketAddr};

fn main() -> std::io::Result<()> {
    let addr = SocketAddr::from_abstract_namespace(b"hidden")?;
    let listener = match UnixListener::bind_addr(&addr) {
        Ok(sock) => sock,
        Err(err) => {
            println!("Couldn't bind: {:?}", err);
            return Err(err);
        }
    };
    Ok(())
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::os::unix::net::SocketAddr.from_abstract_namespace。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。