wupeter1 发表于 2009-5-6 20:27:16

求助:关于ACE_Message_Block

首先请大家看段代码
virtual void handle_read_stream
(const ACE_Asynch_Read_Stream::Result &result)
{
   ACE_Message_Block &mb = result.message_block ();
   if (!result.success () || result.bytes_transferred () == 0)
   {
         mb.release ();
         delete this;
         return;
   }
    CTexture ctexp;
    ctexp.ReadBmpFile ("F:\picture.BMP");
    unsigned char *pData=ctexp.GetData();
................
}
ReadBmpFile函数功能读取硬盘BMP文件到*pData中,再将*pData中的数据发送给客户端要怎么实现,怎样通过ACE_Message_Block 实现呢?因为写文件rs_.write()的第一参数是ACE_Message_Block .谢谢帮忙!

wupeter1 发表于 2009-5-6 21:15:37

char data;
ACE_Message_Block *mbb=new ACE_Message_Block(data,sizeof(pData));

winston 发表于 2009-5-7 18:05:10

直接复制就成!
申请足够的空间后,用ACE_Message_Block的复制函数复制。
int ACE_Message_Block::copy(const char *buf,   size_tn)   ;
页: [1]
查看完整版本: 求助:关于ACE_Message_Block