|
楼主 |
发表于 2009-4-1 11:38:51
|
显示全部楼层
关于自动回调的问题,请指教~~~
昨天问的问题还是有相关的没有太弄明白,请多指点指点~~~
class ServerHander :public ACE_Service_Handler
{
......
if (this->m_writer.write( *mb,mb_length ) != 0)
{
cout<<"Server write failed..."<<endl;
mb->release();
return -1;
}
else
{
if( this->m_reader.read( *mba,mba_length ) != 0 )
{
mba->release();
return -1;
}
}
}
如果我在某一段中调用了写操作,按理说应该回调 handle_write_stream,可是成功后 我又开始读操作了,读完后自动回调handle_read_stream,如果已经回调了 handle_read_stream ,而handle_write_stream还没有被回调,而此时,发现已经应该关闭该连接了,那么我就在handle_read_stream 里关闭连接,可是我想问的是,如果我在handle_read_stream 里要等待handle_write_stream 回调完才该关闭,那么 handle_read_stream 和 handle_write_stream 是不是在同一个线程里执行呢,如果是,那我怎么在 handle_read_stream 里等都不可能完成的呀? 如果不能完成,那么我应该在哪里等待 handle_write_stream 完成呢?
请高人们指教一下~~~~ 谢谢~~~~~~ |
|