| RMVL 2.4.0 Robotic Manipulation and Vision Library

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

由 rm::async::Acceptor 建立的流式 Socket 异步会话 更多...

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

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

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

## Public 成员函数
SocketReadAwaiter | read ()
| 异步读取已连接的 Socket 中的数据
SocketWriteAwaiter | write (std::string_view data)
| 异步写入数据到已连接的 Socket 中
Public 成员函数 继承自 rm::StreamSocket
bool | invalid () const noexcept
| 会话是否失效
template<typename SockOpt>
void | setOption (const SockOpt &opt)
| 设置 Socket 选项
Endpoint | endpoint () const
| 获取绑定的端点
std::string | read () noexcept
| 同步读取已连接的 Socket 中的数据（阻塞）
bool | write (std::string_view data) noexcept
| 同步写入数据到已连接的 Socket 中（阻塞）
void | close () noexcept
| 手动关闭 Socket 会话，一般情况无需调用，除非需要提前释放资源

## 额外继承的成员函数
Protected 属性 继承自 rm::StreamSocket
SocketFd | _fd {INVALID_SOCKET_FD}
| 会话文件描述符

## 详细描述

由 rm::async::Acceptor 建立的流式 Socket 异步会话

## 成员函数说明

## ◆ read()

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

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

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

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

## ◆ write()

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

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

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

参数

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

返回
  是否写入成功