| RMVL 2.3.0 Robotic Manipulation and Vision Library

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

Socket 会话层 更多...

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

类 rm::Socket 继承关系图:
rm::Socket 的协作图:

## Public 成员函数
| Socket (SocketFd fd)
| 建立 Socket 会话
| Socket (const Socket &)=delete
| Socket (Socket &&other) noexcept
Socket & | operator= (const Socket &)=delete
Socket & | operator= (Socket &&other) noexcept
bool | invalid () const noexcept
| 会话是否失效
| ~Socket ()
std::string | read () noexcept
| 同步读取已连接的 Socket 中的数据（阻塞）
bool | write (std::string_view data) noexcept
| 同步写入数据到已连接的 Socket 中（阻塞）

## Protected 属性
SocketFd | _fd {INVALID_SOCKET_FD}
| 会话文件描述符

## 详细描述

Socket 会话层

## 构造及析构函数说明

## ◆ Socket() [1/3]

rm::Socket::Socket | ( | SocketFd | fd | ) |
| inline

建立 Socket 会话

参数

  [in] | fd | 会话文件描述符，一般是已建立会话的 Socket 描述符

## ◆ Socket() [2/3]

rm::Socket::Socket | ( | const Socket & |  | ) |
| delete

函数调用图:

## ◆ Socket() [3/3]

rm::Socket::Socket | ( | Socket && | other | ) |
| inline noexcept

函数调用图:

## ◆ ~Socket()

rm::Socket::~Socket | ( |  | ) |

## 成员函数说明

## ◆ invalid()

bool rm::Socket::invalid | ( |  | ) | const
| inline nodiscard noexcept

会话是否失效

## ◆ operator=() [1/2]

Socket & rm::Socket::operator= | ( | const Socket & |  | ) |
| delete

函数调用图:

## ◆ operator=() [2/2]

Socket & rm::Socket::operator= | ( | Socket && | other | ) |
| noexcept

函数调用图:

## ◆ read()

std::string rm::Socket::read | ( |  | ) |
| noexcept

同步读取已连接的 Socket 中的数据（阻塞）

// 使用示例
auto str = socket.read();
rm::str
定义 str.hpp:19

返回
  使用 `std::string` 存储的读取到的数据

## ◆ write()

bool rm::Socket::write | ( | std::string_view | data | ) |
| noexcept

同步写入数据到已连接的 Socket 中（阻塞）

// 使用示例
bool success = socket.write("Hello, World!");

参数

  [in] | data | 待写入的数据

返回
  是否写入成功

函数调用图:

## 类成员变量说明

## ◆ _fd

SocketFd rm::Socket::_fd {INVALID_SOCKET_FD}
| protected

会话文件描述符

该类的文档由以下文件生成:

- rmvl/io/socket.hpp