本文整理汇总了C++中NetAddress::Size方法的典型用法代码示例。如果您正苦于以下问题:C++ NetAddress::Size方法的具体用法?C++ NetAddress::Size怎么用?C++ NetAddress::Size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetAddress
的用法示例。
在下文中一共展示了NetAddress::Size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SendTo
///Send data to the address specified. Returns the number of bytes sent.
int UDPSocket::SendTo( const NetAddress &remote, const IProtocol *protocol ) throw ( Error )
{
///Clear out the stream for data to be sent.
sstream.Clear();
//Use the protocol to format the pack about to be sent.
int size = protocol->FormatPacket(sstream);
int ret = sendto(socket, sstream.GetBuffer(), size, 0, remote, remote.Size());
if (ret == SOCKET_ERROR) {
if ( !blocking && WSAGetLastError() == WSAEWOULDBLOCK )
return ret; // would have blocked
///Something really went wrong.
ThrowError(Error::E_SocketError);
}
return ret;
}
示例2: RecvFrom
///Receive Data on the socket. Stores the address of the sender in address.
///Returns a list of the messages extracted from the buffer. Users must delete list.
int UDPSocket::RecvFrom( NetAddress &remote ) throw ( Error )
{
///Clear out the stream for data to be sent.
rstream.Clear();
int size = remote.Size();
int ret = recvfrom(socket, rstream.GetBuffer(), rstream.Capacity(), 0, remote, &size);
if (ret == SOCKET_ERROR) {
if ( !blocking && WSAGetLastError() == WSAEWOULDBLOCK )
return 0; // would have blocked
///Something really went wrong.
ThrowError(Error::E_SocketError);
}
//rstream.SetWriteIndex(ret);
///Return the number of bytes received.
return ret;
}