歡迎大家跟我交流
gTalk: 2005119@gmail.com
我的統計
您是第 位訪客
*ACE_Message_Block小知識* http://spaces.msn.com/stonejiang/blog/cns!A4A8B7175059E42A!273.entry
? ** ** ?1 copy() 不需要讓寫指針后移. ? ACE_Message_Block* mb = new ACE_Message_Block(BUFSIZ); ? mb->copy(buff); //buff先已經初始化 2 初始化mb后需要后移指針的情況 ? 2.1 ? ACE_Message_Block* mb = new ACE_Message_Block(buff,len); ? mb->wt_ptr(len); ?//len是buff的長度 len = strlen(buff) +1 ? ? ? ? ? ? ? ? ? ? // +1 表示后面的\0 ? 2.2 ? ACE_Message_Block* mb = new ACE_Message_Block(BUFSIZ); ? ACE_OS::sprintf(mb->wt_ptr(),buff); ? mb->wt_ptr(len); ? 2.3 ? ACE_Message_Block* mb = new ACE_Message_Block(len, ? ? ? ? ? ? ACE_Message_Block::MB_DATA, ? ? ? ? ? ? mb2, ? //表示 mb->cont(mb2) ? ? ? ? ? ? buff) ? mb->wt_ptr(len); 3.讓消息接成串cont()時,千萬不要直接或接間的把它接成一個環 ? ?mb->cont(mb2); ? ?mb2->cont(mb3); //ok ? ?***mb3->cont(mb); ?//死定了 4.通知其它線程結束時,可以通過ACE_Message_Block::MB_STOP
? ACE_Message_Block* lastMsg =ACE_Message_Block ,ACE_Message_Block::MB_STOP) ? otherTask->putq(lastMsg);
? otherTask在接收到的時候如下處理
?
-- Stone Jiang
Powered by: C++博客 Copyright © Stone Jiang