您的位置:首页 > 其它

修改TEST_UDP_PROACTOR不能连续接受客户数据的问题

2008-11-14 23:44 435 查看
在Receiver::handle_read_dgram函数的最后,增加下面的代码:

ACE_Message_Block* msg = new ACE_Message_Block (1024);


// create a message block to read the message body

ACE_Message_Block* body =new ACE_Message_Block (1024);

msg->cont (body);

// ok lets do the asynch
read
size_t number_of_bytes_recvd = 1024;

int
res = rd_.recv (msg,
number_of_bytes_recvd,
0,

PF_INET,
this->act_);

也就是增加rd_.recv的调用,继续数据的接受,同时也不用担心这里的new没有显式的delete,因为
result.message_block
()->release ()已经将那块内存区域释放了;事实上测试数据表明,也没有明显的
内存泄露
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐