| RMVL 2.3.0 Robotic Manipulation and Vision Library

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

Socket 异步会话层 更多...

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

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

## 类
class | SocketReadAwaiter
| Socket 异步读等待器 更多...
class | SocketWriteAwaiter
| Socket 异步写等待器 更多...

## Public 成员函数
| Socket (IOContext &io_context, SocketFd fd)
| 建立 Socket 异步会话
| Socket (const Socket &)=delete
| Socket (Socket &&other) noexcept=default
Socket & | operator= (const Socket &)=delete
Socket & | operator= (Socket &&other)=default
| ~Socket ()=default
SocketReadAwaiter | read ()
| 异步读取已连接的 Socket 中的数据
SocketWriteAwaiter | write (std::string_view data)
| 异步写入数据到已连接的 Socket 中
Public 成员函数 继承自 rm::Socket
| 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 属性 继承自 rm::Socket
SocketFd | _fd {INVALID_SOCKET_FD}
| 会话文件描述符

## 详细描述

Socket 异步会话层

## 构造及析构函数说明

## ◆ Socket() [1/3]

rm::async::Socket::Socket | ( | IOContext & | io_context,
|  | SocketFd | fd )

建立 Socket 异步会话

参数

  [in] | io_context | 异步 I/O 执行上下文
  [in] | fd | 会话文件描述符，一般是已建立会话的 Socket 描述符

## ◆ Socket() [2/3]

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

函数调用图:

## ◆ Socket() [3/3]

rm::async::Socket::Socket | ( | Socket && | other | ) |
| default noexcept

函数调用图:

## ◆ ~Socket()

rm::async::Socket::~Socket | ( |  | ) |
| default

## 成员函数说明

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

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

函数调用图:

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

Socket & rm::async::Socket::operator= | ( | Socket && | other | ) |
| default

函数调用图:

## ◆ read()

SocketReadAwaiter rm::async::Socket::read | ( |  | ) |
| inline

异步读取已连接的 Socket 中的数据

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

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

## ◆ write()

SocketWriteAwaiter rm::async::Socket::write | ( | std::string_view | data | ) |
| inline

异步写入数据到已连接的 Socket 中

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

参数

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

返回
  是否写入成功

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

- rmvl/io/socket.hpp