本文整理汇总了C++中SocketAddress::GetRawAddress方法的典型用法代码示例。如果您正苦于以下问题:C++ SocketAddress::GetRawAddress方法的具体用法?C++ SocketAddress::GetRawAddress怎么用?C++ SocketAddress::GetRawAddress使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SocketAddress
的用法示例。
在下文中一共展示了SocketAddress::GetRawAddress方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Connect
void TCPSocket::Connect(const SocketAddress& address)
{
if (!_socket.IsValid())
/* throw invalid socket */
throw InvalidSocketException{ LOGIC_EXCEPT("Invalid socket") };
auto rc = 0;
do
{
rc = ::connect(_socket, address.GetRawAddress(), address.RawLength());
}
while (rc == NET_SOCKET_ERROR && Socket::LastError() == NETERRNO(EINTR));
if (rc == NET_SOCKET_ERROR)
OnSocketError();
}
示例2: while
std::uint32_t UDPSocket::SendTo(const SocketAddress& address, const std::uint8_t*buffer, std::uint32_t length, std::uint32_t flags)
{
if (!_socket.IsValid())
throw InvalidSocketException{ LOGIC_EXCEPT("Invalid socket") };
auto rc = 0;
do
{
rc = ::sendto(_socket, reinterpret_cast<const char*>(buffer), length, flags, address.GetRawAddress(), address.RawLength());
}
while (rc < 0 && Socket::LastError() == NETERRNO(EINTR));
if (rc < 0)
{
OnSocketError();
rc = 0;
}
return static_cast<std::uint32_t>(rc);
}