RMVL  2.4.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::DgramSocket类 参考

rm::Listenerrm::Sender 建立的数据报式 Socket 会话 更多...

#include <rmvl/io/socket.hpp>

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

Public 成员函数

bool invalid () const noexcept
 会话是否失效
template<typename SockOpt>
void setOption (const SockOpt &opt)
 设置 Socket 选项
std::tuple< std::string, std::string, uint16_t > read () noexcept
 同步读取已连接的 Socket 中的数据(阻塞)
bool write (std::string_view addr, const Endpoint &endpoint, std::string_view data) noexcept
 同步写入数据到已连接的 Socket 中(阻塞)

Protected 属性

SocketFd _fd {INVALID_SOCKET_FD}
 会话文件描述符

详细描述

rm::Listenerrm::Sender 建立的数据报式 Socket 会话

成员函数说明

◆ invalid()

bool rm::DgramSocket::invalid ( ) const
inlinenodiscardnoexcept

会话是否失效

◆ read()

std::tuple< std::string, std::string, uint16_t > rm::DgramSocket::read ( )
noexcept

同步读取已连接的 Socket 中的数据(阻塞)

// 使用示例
auto [str, addr, port] = socket.read();
定义 str.hpp:19
返回
读取到的数据
返回值
data读取的数据
addr发送方地址
port发送方端口

◆ setOption()

template<typename SockOpt>
void rm::DgramSocket::setOption ( const SockOpt & opt)

设置 Socket 选项

参数
[in]optSocket 选项

◆ write()

bool rm::DgramSocket::write ( std::string_view addr,
const Endpoint & endpoint,
std::string_view data )
noexcept

同步写入数据到已连接的 Socket 中(阻塞)

// 使用示例
bool success = socket.write("192.168.1.100", rm::Endpoint(rm::ip::udp::v4(), 12345), "Hello, World!");
端点
定义 socket.hpp:269
Protocol v4()
构造端点,以表示 IPv4 UDP 协议
参数
[in]addr目标地址
[in]endpoint目标端点
[in]data待写入的数据
返回
是否写入成功
函数调用图:

类成员变量说明

◆ _fd

SocketFd rm::DgramSocket::_fd {INVALID_SOCKET_FD}
protected

会话文件描述符


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