| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
rm::NetworkInterface类 参考
数据 IO 与通信模块 » 网络通信

网络接口 更多...

`#include <rmvl/io/socket.hpp>`

rm::NetworkInterface 的协作图:

## Public 成员函数
const std::array< uint8_t, 6 > & | address () const noexcept
| 获取网络接口的 MAC 地址
std::string | name () const noexcept
| 获取接口名称
NetworkInterfaceType | type () const noexcept
| 获取接口类型
uint8_t | flag () const noexcept
| 获取接口功能与状态标志
bool | up () const noexcept
| 接口是否启用
bool | loopback () const noexcept
| 是否为回环接口
bool | broadcast () const noexcept
| 是否支持广播
bool | p2p () const noexcept
| 是否为点对点接口
bool | multicast () const noexcept
| 是否支持多播
bool | running () const noexcept
| 接口是否正在运行
std::string | to_string () const
| 获取 MAC 地址的字符串表示形式
std::vector< ip::Networkv4 > | ipv4 () const noexcept
| 获取 IPv4 地址列表
std::vector< ip::Networkv6 > | ipv6 () const noexcept
| 获取 IPv6 地址列表

## 静态 Public 成员函数
static std::vector< NetworkInterface > | list () noexcept
| 获取所有网络接口的 MAC 地址列表
static NetworkInterface | findByName (std::string_view name) noexcept
| 根据名称查找网络接口
static NetworkInterface | findByAddress (const std::array< uint8_t, 6 > &addr) noexcept
| 根据 MAC 地址查找网络接口

## 详细描述

网络接口

## 成员函数说明

## ◆ address()

const std::array< uint8_t, 6 > & rm::NetworkInterface::address | ( |  | ) | const
| inline noexcept

获取网络接口的 MAC 地址

函数调用图:

## ◆ broadcast()

bool rm::NetworkInterface::broadcast | ( |  | ) | const
| inline noexcept

是否支持广播

## ◆ findByAddress()

NetworkInterface rm::NetworkInterface::findByAddress | ( | const std::array< uint8_t, 6 > & | addr | ) |
| static noexcept

根据 MAC 地址查找网络接口

参数

  [in] | addr | MAC 地址字节数组

返回
  找到的网络接口，未找到时返回一个无效的接口

函数调用图:

## ◆ findByName()

NetworkInterface rm::NetworkInterface::findByName | ( | std::string_view | name | ) |
| static noexcept

根据名称查找网络接口

参数

  [in] | name | 名称字符串，如 "eth0"

返回
  找到的网络接口，未找到时返回一个无效的接口

函数调用图:

## ◆ flag()

uint8_t rm::NetworkInterface::flag | ( |  | ) | const
| inline noexcept

获取接口功能与状态标志

## ◆ ipv4()

std::vector< ip::Networkv4 > rm::NetworkInterface::ipv4 | ( |  | ) | const
| noexcept

获取 IPv4 地址列表

## ◆ ipv6()

std::vector< ip::Networkv6 > rm::NetworkInterface::ipv6 | ( |  | ) | const
| noexcept

获取 IPv6 地址列表

函数调用图:

## ◆ list()

std::vector< NetworkInterface > rm::NetworkInterface::list | ( |  | ) |
| static noexcept

获取所有网络接口的 MAC 地址列表

## ◆ loopback()

bool rm::NetworkInterface::loopback | ( |  | ) | const
| inline noexcept

是否为回环接口

## ◆ multicast()

bool rm::NetworkInterface::multicast | ( |  | ) | const
| inline noexcept

是否支持多播

## ◆ name()

std::string rm::NetworkInterface::name | ( |  | ) | const
| inline noexcept

获取接口名称

## ◆ p2p()

bool rm::NetworkInterface::p2p | ( |  | ) | const
| inline noexcept

是否为点对点接口

## ◆ running()

bool rm::NetworkInterface::running | ( |  | ) | const
| inline noexcept

接口是否正在运行

## ◆ to_string()

std::string rm::NetworkInterface::to_string | ( |  | ) | const

获取 MAC 地址的字符串表示形式

## ◆ type()

NetworkInterfaceType rm::NetworkInterface::type | ( |  | ) | const
| inline noexcept

获取接口类型

## ◆ up()

bool rm::NetworkInterface::up | ( |  | ) | const
| inline noexcept

接口是否启用