| 
				 while((res = SockStreamOp::recv(peer,buf, 1)) > 0 && buf[0] != CR) { 
        count++; 
        if(count > max) { 
            ACE_DEBUG((LM_ERROR,"[%D][%t][%M][%N:%l]The length:%d of command is too long.Max length:%d\n",count,max)); 
            break; 
        } 
        v.push_back(buf[0]); 
    } 
    return res; 
  
} 
}; 
4 结语从上面的例子可以看出运行ACE进行网络服务编程非常简单,框架也非常清晰,用户可以把精力更多地放在具体业务的处理上,而不用关心具体连接建立、维护的过程。并且运用ACE进行网络通信编程的程序具有跨平台的特点。如果服务的连接类型需要发生改变,仅仅只需要传递具体的反应堆实例给ACE_Reactor即可,这个类的缺省实例是select模型。			
				 |