当前位置: 首页>>代码示例>>C++>>正文


C++ TBreakPacket::GetCollectPtr方法代码示例

本文整理汇总了C++中TBreakPacket::GetCollectPtr方法的典型用法代码示例。如果您正苦于以下问题:C++ TBreakPacket::GetCollectPtr方法的具体用法?C++ TBreakPacket::GetCollectPtr怎么用?C++ TBreakPacket::GetCollectPtr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TBreakPacket的用法示例。


在下文中一共展示了TBreakPacket::GetCollectPtr方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Calc

bool TCryptMITM::Calc(void* rsa, int size_rsa, 
											void* pLogin, int sizeLogin,
                      void* pPassword, int sizePassword, 
											TContainer& c_result)
{
  TContainer cAES_RSA;
  // зашифровать публичный ключ RSA с помощью AES, используя в качестве ключа пароль
  TContainer cMD5_Password;
  TMD5 md5Password;
  md5Password.FastCalc(pPassword, sizePassword, cMD5_Password);
  TCryptoAES_Impl crypt_aes;
  crypt_aes.SetPublicKey(cMD5_Password.GetPtr(), cMD5_Password.GetSize());
  if(crypt_aes.Encrypt(rsa, size_rsa, cAES_RSA)==false)
    return false;

  TBreakPacket bp;
  // зашифрованный RSA
  bp.PushFront(cAES_RSA.GetPtr(), cAES_RSA.GetSize());
  // Login
  bp.PushFront((char*)pLogin, sizeLogin);
  // длина логина
  char lenLogin = sizeLogin;
  bp.PushFront(&lenLogin, sizeof(lenLogin));
  // собрать
  bp.Collect();
  // отдать собранный пакет
  c_result.Entrust((char*)bp.GetCollectPtr(), bp.GetSize());
  // отцепиться
  bp.UnlinkCollect();
	return true;
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:31,代码来源:CryptMITM.cpp

示例2: Send

//----------------------------------------------------------------------------------
void TNetControlTCP::Send( unsigned int ip, unsigned short port, TBreakPacket& bp )
{
  THistoryPacketTCP::PackForSend( bp );
  bp.Collect();

  char* data = (char*) bp.GetCollectPtr();
  int size = bp.GetSize();

  RequestSend( data, size );
}
开发者ID:retrydev,项目名称:MMO-Framework,代码行数:11,代码来源:NetControlTCP.cpp

示例3: Send

//----------------------------------------------------------------------------------
void TNetControlUDP::Send( unsigned int ip, unsigned short port, TBreakPacket& bp )
{
  // формируем заголовок
  TIP_Port ip_port( ip, port );
  unsigned short count_out = IncreaseCntOut( ip_port );
  bp.PushFront( (char*) &count_out, sizeof( count_out ) );
  bp.Collect();

  char* data = (char*) bp.GetCollectPtr();
  int size = bp.GetSize();
  RequestSendTo( data, size, ip_port );
}
开发者ID:retrydev,项目名称:MMO-Framework,代码行数:13,代码来源:NetControlUDP.cpp

示例4: Pack

//----------------------------------------------------------------------------------
TContainer TBasePacket_PCS::Pack()
{
  TBreakPacket bp;
  bp.PushBack( (char*)&mType, sizeof(mType));
  TContainer fromInherit = PackInherit();
  bp.PushBack( fromInherit.GetPtr(), fromInherit.GetSize() );
  bp.Collect();
  TContainer result;
  result.Entrust( (char*)bp.GetCollectPtr(), bp.GetSize() );
  bp.UnlinkCollect();
  return result;
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:13,代码来源:PCS_TypePacket.cpp

示例5: Send

//----------------------------------------------------------------------------------
void TNetControlTCP::Send(unsigned int ip, unsigned short port, TBreakPacket& bp)
{
  // добавить заголовки в начало  - 2 байт под заголовок + 4 байта - размер данных
  THeaderTCP header;
  header.size = bp.GetSize();
  bp.PushFront((char*)&header, sizeof(header));
  bp.Collect();

  char* data = (char*)bp.GetCollectPtr();
  int size   = bp.GetSize();

	RequestSend(data,size);
}
开发者ID:2asoft,项目名称:MMO-Framework,代码行数:14,代码来源:NetControlTCP.cpp


注:本文中的TBreakPacket::GetCollectPtr方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。