本文整理汇总了C++中NetBitStreamInterface::GetNumberOfBitsUsed方法的典型用法代码示例。如果您正苦于以下问题:C++ NetBitStreamInterface::GetNumberOfBitsUsed方法的具体用法?C++ NetBitStreamInterface::GetNumberOfBitsUsed怎么用?C++ NetBitStreamInterface::GetNumberOfBitsUsed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetBitStreamInterface
的用法示例。
在下文中一共展示了NetBitStreamInterface::GetNumberOfBitsUsed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Send
uint CPlayer::Send ( const CPacket& Packet )
{
if ( !CNetBufferWatchDog::CanSendPacket ( Packet.GetPacketID () ) )
return 0;
// Use the flags to determine how to send it
NetServerPacketReliability Reliability;
unsigned long ulFlags = Packet.GetFlags ();
if ( ulFlags & PACKET_RELIABLE )
{
if ( ulFlags & PACKET_SEQUENCED )
{
Reliability = PACKET_RELIABILITY_RELIABLE_ORDERED;
}
else
{
Reliability = PACKET_RELIABILITY_RELIABLE;
}
}
else
{
if ( ulFlags & PACKET_SEQUENCED )
{
Reliability = PACKET_RELIABILITY_UNRELIABLE_SEQUENCED;
}
else
{
Reliability = PACKET_RELIABILITY_UNRELIABLE;
}
}
NetServerPacketPriority packetPriority = PACKET_PRIORITY_MEDIUM;
if ( ulFlags & PACKET_HIGH_PRIORITY )
{
packetPriority = PACKET_PRIORITY_HIGH;
}
else if ( ulFlags & PACKET_LOW_PRIORITY )
{
packetPriority = PACKET_PRIORITY_LOW;
}
uint uiBitsSent = 0;
// Allocate a bitstream for it
NetBitStreamInterface* pBitStream = g_pNetServer->AllocateNetServerBitStream ( GetBitStreamVersion () );
if ( pBitStream )
{
// Write the content to it and send it
if ( Packet.Write ( *pBitStream ) )
{
uiBitsSent = pBitStream->GetNumberOfBitsUsed ();
g_pNetServer->SendPacket ( Packet.GetPacketID (), m_PlayerSocket, pBitStream, FALSE, packetPriority, Reliability, Packet.GetPacketOrdering() );
}
// Destroy the bitstream
g_pNetServer->DeallocateNetServerBitStream ( pBitStream );
}
return uiBitsSent;
}