﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Life &amp; Code-随笔分类-ACE</title><link>http://www.cppblog.com/lovelypig/category/1218.html</link><description>代码是咒语,我是魔法师</description><language>zh-cn</language><lastBuildDate>Mon, 19 May 2008 20:49:36 GMT</lastBuildDate><pubDate>Mon, 19 May 2008 20:49:36 GMT</pubDate><ttl>60</ttl><item><title>FTP扫描器(纯娱乐)</title><link>http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 12 Dec 2006 16:19:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/16345.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/16345.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/16345.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: #include 				"				stdafx.h				"																#include 				&lt;				iostream				&gt;																#include 				"				ace/INET_Addr.h				"																#include ...&nbsp;&nbsp;<a href='http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html'>阅读全文</a><img src ="http://www.cppblog.com/lovelypig/aggbug/16345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-12-13 00:19 <a href="http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACE_Rector + UDP 报错. .</title><link>http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Fri, 20 Oct 2006 02:10:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/13890.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/13890.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/13890.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">stdafx.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/OS_NS_time.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Log_Msg.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Reactor.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Event_Handler.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/INET_Addr.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/SOCK_Dgram.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/TP_Reactor.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/WFMO_Reactor.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> ClientRecv : </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> ACE_Event_Handler<br /><img id="Codehighlighter1_287_713_Open_Image" onclick="this.style.display='none'; Codehighlighter1_287_713_Open_Text.style.display='none'; Codehighlighter1_287_713_Closed_Image.style.display='inline'; Codehighlighter1_287_713_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_287_713_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_287_713_Closed_Text.style.display='none'; Codehighlighter1_287_713_Open_Image.style.display='inline'; Codehighlighter1_287_713_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_287_713_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_287_713_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">:<br /><img id="Codehighlighter1_320_321_Open_Image" onclick="this.style.display='none'; Codehighlighter1_320_321_Open_Text.style.display='none'; Codehighlighter1_320_321_Closed_Image.style.display='inline'; Codehighlighter1_320_321_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_320_321_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_320_321_Closed_Text.style.display='none'; Codehighlighter1_320_321_Open_Image.style.display='inline'; Codehighlighter1_320_321_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">~</span>
						<span style="COLOR: #000000">ClientRecv ()</span>
						<span id="Codehighlighter1_320_321_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_320_321_Open_Text">
								<span style="COLOR: #000000">{}</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> open (</span>
						<span style="COLOR: #0000ff">const</span>
						<span style="COLOR: #000000"> ACE_INET_Addr </span>
						<span style="COLOR: #000000">&amp;</span>
						<span style="COLOR: #000000">bind_addr);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> Get this handler's I/O handle.</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> ACE_HANDLE get_handle (</span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000">) </span>
						<span style="COLOR: #0000ff">const</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_449_482_Open_Image" onclick="this.style.display='none'; Codehighlighter1_449_482_Open_Text.style.display='none'; Codehighlighter1_449_482_Closed_Image.style.display='inline'; Codehighlighter1_449_482_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_449_482_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_449_482_Closed_Text.style.display='none'; Codehighlighter1_449_482_Open_Image.style.display='inline'; Codehighlighter1_449_482_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_449_482_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_449_482_Open_Text">
								<span style="COLOR: #000000">{ </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">-&gt;</span>
								<span style="COLOR: #000000">udp.get_handle(); }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> handle_input (ACE_HANDLE fd </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ACE_INVALID_HANDLE);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> Called when this handler is removed from the ACE_Reactor.</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> handle_close (ACE_HANDLE handle,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_Reactor_Mask close_mask);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_SOCK_Dgram udp;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />ClientRecv::open (</span>
				<span style="COLOR: #0000ff">const</span>
				<span style="COLOR: #000000"> ACE_INET_Addr </span>
				<span style="COLOR: #000000">&amp;</span>
				<span style="COLOR: #000000">bind_addr)<br /><img id="Codehighlighter1_772_988_Open_Image" onclick="this.style.display='none'; Codehighlighter1_772_988_Open_Text.style.display='none'; Codehighlighter1_772_988_Closed_Image.style.display='inline'; Codehighlighter1_772_988_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_772_988_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_772_988_Closed_Text.style.display='none'; Codehighlighter1_772_988_Open_Image.style.display='inline'; Codehighlighter1_772_988_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_772_988_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_772_988_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (</span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">udp.open (bind_addr, </span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">) </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_ERROR_RETURN ((LM_ERROR,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_TEXT (</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">%p\n</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">),<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_TEXT (</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">udp.open</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">)),<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">reactor ()</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">register_handler<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        (</span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">, ACE_Event_Handler::READ_MASK );<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />ClientRecv::handle_close (ACE_HANDLE handle,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />                          ACE_Reactor_Mask close_mask)<br /><img id="Codehighlighter1_1079_1325_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1079_1325_Open_Text.style.display='none'; Codehighlighter1_1079_1325_Closed_Image.style.display='inline'; Codehighlighter1_1079_1325_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1079_1325_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1079_1325_Closed_Text.style.display='none'; Codehighlighter1_1079_1325_Open_Image.style.display='inline'; Codehighlighter1_1079_1325_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1079_1325_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1079_1325_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (close_mask </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> ACE_Event_Handler::WRITE_MASK)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    close_mask </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ACE_Event_Handler::ALL_EVENTS_MASK </span>
						<span style="COLOR: #000000">|</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_Event_Handler::DONT_CALL;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">reactor ()</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">remove_handler (</span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">, close_mask);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">udp.close();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    delete </span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />ClientRecv::handle_input (ACE_HANDLE fd )<br /><img id="Codehighlighter1_1375_1636_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1375_1636_Open_Text.style.display='none'; Codehighlighter1_1375_1636_Closed_Image.style.display='inline'; Codehighlighter1_1375_1636_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1375_1636_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1375_1636_Closed_Text.style.display='none'; Codehighlighter1_1375_1636_Open_Image.style.display='inline'; Codehighlighter1_1375_1636_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1375_1636_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1375_1636_Open_Text">
						<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1399_1401_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1399_1401_Open_Text.style.display='none'; Codehighlighter1_1399_1401_Closed_Image.style.display='inline'; Codehighlighter1_1399_1401_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1399_1401_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1399_1401_Closed_Text.style.display='none'; Codehighlighter1_1399_1401_Open_Image.style.display='inline'; Codehighlighter1_1399_1401_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">char</span>
						<span style="COLOR: #000000">  buffer[</span>
						<span style="COLOR: #000000">8192</span>
						<span style="COLOR: #000000">] </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span id="Codehighlighter1_1399_1401_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1399_1401_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_INET_Addr  peer_addr;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000">(</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">this</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">udp.recv(buffer,</span>
						<span style="COLOR: #000000">8192</span>
						<span style="COLOR: #000000">,peer_addr))<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_ERROR_RETURN ((LM_ERROR,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_TEXT (</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">%p\n</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">),<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_TEXT (</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">udp.recv</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">)),<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_DEBUG((LM_INFO,</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">%s\n</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">,peer_addr.get_host_addr()));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />DWORD WINAPI LoopThread(LPVOID lparam)<br /><img id="Codehighlighter1_1678_1746_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1678_1746_Open_Text.style.display='none'; Codehighlighter1_1678_1746_Closed_Image.style.display='inline'; Codehighlighter1_1678_1746_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1678_1746_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1678_1746_Closed_Text.style.display='none'; Codehighlighter1_1678_1746_Open_Image.style.display='inline'; Codehighlighter1_1678_1746_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1678_1746_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1678_1746_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_Reactor::instance ()</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">run_reactor_event_loop ();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000">  </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> _tmain(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> argc, _TCHAR</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> argv[])<br /><img id="Codehighlighter1_1786_2316_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1786_2316_Open_Text.style.display='none'; Codehighlighter1_1786_2316_Closed_Image.style.display='inline'; Codehighlighter1_1786_2316_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1786_2316_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1786_2316_Closed_Text.style.display='none'; Codehighlighter1_1786_2316_Open_Image.style.display='inline'; Codehighlighter1_1786_2316_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1786_2316_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1786_2316_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_INET_Addr bind_addr(</span>
						<span style="COLOR: #000000">10703</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ClientRecv  client;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        client.reactor(ACE_Reactor::instance ());  <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000">(</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> client.open(bind_addr))<br /><img id="Codehighlighter1_1929_1945_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1929_1945_Open_Text.style.display='none'; Codehighlighter1_1929_1945_Closed_Image.style.display='inline'; Codehighlighter1_1929_1945_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1929_1945_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1929_1945_Closed_Text.style.display='none'; Codehighlighter1_1929_1945_Open_Image.style.display='inline'; Codehighlighter1_1929_1945_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_1929_1945_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1929_1945_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    CreateThread(NULL,NULL,LoopThread,</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">,</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">,</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_INET_Addr send_addr;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000">(</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> i</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">1024</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">3333</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_2047_2231_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2047_2231_Open_Text.style.display='none'; Codehighlighter1_2047_2231_Closed_Image.style.display='inline'; Codehighlighter1_2047_2231_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2047_2231_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2047_2231_Closed_Text.style.display='none'; Codehighlighter1_2047_2231_Open_Image.style.display='inline'; Codehighlighter1_2047_2231_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_2047_2231_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_2047_2231_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ACE_DEBUG((LM_INFO,</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">%d \n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,i));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        send_addr.</span>
								<span style="COLOR: #0000ff">set</span>
								<span style="COLOR: #000000">(i,</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">192.168.3.147</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        Sleep(</span>
								<span style="COLOR: #000000">5000</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(client.udp.send(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">ttt</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,</span>
								<span style="COLOR: #000000">3</span>
								<span style="COLOR: #000000">,send_addr) </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_2184_2228_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2184_2228_Open_Text.style.display='none'; Codehighlighter1_2184_2228_Closed_Image.style.display='inline'; Codehighlighter1_2184_2228_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2184_2228_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2184_2228_Closed_Text.style.display='none'; Codehighlighter1_2184_2228_Open_Image.style.display='inline'; Codehighlighter1_2184_2228_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_2184_2228_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.cppblog.com/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_2184_2228_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            ACE_DEBUG((LM_INFO,</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">%p</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">break</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    system(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">pause</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_Reactor::instance ()</span>
						<span style="COLOR: #000000">-&gt;</span>
						<span style="COLOR: #000000">end_reactor_event_loop ();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<br />
		<br />报错:  <br />udp.recv: connection reset  <br />p?: handle is not a socket  <br /><br />莫非反应器只能用于TCP? , 没办法，先用WSAAsyncSelect吧。 <img src ="http://www.cppblog.com/lovelypig/aggbug/13890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-10-20 10:10 <a href="http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACE_NT_Service</title><link>http://www.cppblog.com/lovelypig/archive/2006/08/31/11878.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Thu, 31 Aug 2006 01:15:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/08/31/11878.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/11878.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/08/31/11878.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/11878.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/11878.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Singleton.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Mutex.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Event_Handler.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">ace</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">NT_Service.h</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">ace</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">Log_Msg.h</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">iostream</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">using</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">namespace</span>
				<span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> MYService:</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> ACE_NT_Service<br /><img id="Codehighlighter1_215_495_Open_Image" onclick="this.style.display='none'; Codehighlighter1_215_495_Open_Text.style.display='none'; Codehighlighter1_215_495_Closed_Image.style.display='inline'; Codehighlighter1_215_495_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_215_495_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_215_495_Closed_Text.style.display='none'; Codehighlighter1_215_495_Open_Image.style.display='inline'; Codehighlighter1_215_495_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_215_495_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_215_495_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">bool</span>
						<span style="COLOR: #000000"> m_stop;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">:<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    MYService():ACE_NT_Service(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">MyACEService_4</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">,</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">,ACE_NT_SERVICE_START_TIMEOUT,<br /><img id="Codehighlighter1_389_393_Open_Image" onclick="this.style.display='none'; Codehighlighter1_389_393_Open_Text.style.display='none'; Codehighlighter1_389_393_Closed_Image.style.display='inline'; Codehighlighter1_389_393_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_389_393_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_389_393_Closed_Text.style.display='none'; Codehighlighter1_389_393_Open_Image.style.display='inline'; Codehighlighter1_389_393_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            SERVICE_WIN32_OWN_PROCESS </span>
						<span style="COLOR: #000000">|</span>
						<span style="COLOR: #000000"> SERVICE_INTERACTIVE_PROCESS),m_stop(</span>
						<span style="COLOR: #0000ff">false</span>
						<span style="COLOR: #000000">)</span>
						<span id="Codehighlighter1_389_393_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_389_393_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> svc (</span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> handle_control (DWORD control_code);<br /><img id="Codehighlighter1_492_493_Open_Image" onclick="this.style.display='none'; Codehighlighter1_492_493_Open_Text.style.display='none'; Codehighlighter1_492_493_Closed_Image.style.display='inline'; Codehighlighter1_492_493_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_492_493_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_492_493_Closed_Text.style.display='none'; Codehighlighter1_492_493_Open_Image.style.display='inline'; Codehighlighter1_492_493_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">~</span>
						<span style="COLOR: #000000">MYService()</span>
						<span id="Codehighlighter1_492_493_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_492_493_Open_Text">
								<span style="COLOR: #000000">{}</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />typedef ACE_Singleton</span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">MYService, ACE_Mutex</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000"> SERVICE;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> MYService::svc (</span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_579_699_Open_Image" onclick="this.style.display='none'; Codehighlighter1_579_699_Open_Text.style.display='none'; Codehighlighter1_579_699_Closed_Image.style.display='inline'; Codehighlighter1_579_699_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_579_699_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_579_699_Closed_Text.style.display='none'; Codehighlighter1_579_699_Open_Image.style.display='inline'; Codehighlighter1_579_699_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_579_699_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_579_699_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    report_status (SERVICE_RUNNING);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(</span>
						<span style="COLOR: #000000">!</span>
						<span style="COLOR: #000000">m_stop)<br /><img id="Codehighlighter1_632_686_Open_Image" onclick="this.style.display='none'; Codehighlighter1_632_686_Open_Text.style.display='none'; Codehighlighter1_632_686_Closed_Image.style.display='inline'; Codehighlighter1_632_686_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_632_686_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_632_686_Closed_Text.style.display='none'; Codehighlighter1_632_686_Open_Image.style.display='inline'; Codehighlighter1_632_686_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_632_686_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_632_686_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        Sleep(</span>
								<span style="COLOR: #000000">2000</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        MessageBox(NULL,</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">aaa</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">error</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> MYService::handle_control (DWORD control_code)<br /><img id="Codehighlighter1_754_956_Open_Image" onclick="this.style.display='none'; Codehighlighter1_754_956_Open_Text.style.display='none'; Codehighlighter1_754_956_Closed_Image.style.display='inline'; Codehighlighter1_754_956_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_754_956_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_754_956_Closed_Text.style.display='none'; Codehighlighter1_754_956_Open_Image.style.display='inline'; Codehighlighter1_754_956_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_754_956_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_754_956_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (control_code </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> SERVICE_CONTROL_SHUTDOWN<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #000000">||</span>
						<span style="COLOR: #000000"> control_code </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> SERVICE_CONTROL_STOP)<br /><img id="Codehighlighter1_846_906_Open_Image" onclick="this.style.display='none'; Codehighlighter1_846_906_Open_Text.style.display='none'; Codehighlighter1_846_906_Closed_Image.style.display='inline'; Codehighlighter1_846_906_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_846_906_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_846_906_Closed_Text.style.display='none'; Codehighlighter1_846_906_Open_Image.style.display='inline'; Codehighlighter1_846_906_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_846_906_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_846_906_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        report_status (SERVICE_STOP_PENDING);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        m_stop </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">true</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_NT_Service::handle_control (control_code);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />ACE_NT_SERVICE_DEFINE (MyACEService_4,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />                       MYService,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />                       ACE_TEXT (</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">MyACEService_4</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> main(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> argc, _TCHAR</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> argv[])<br /><img id="Codehighlighter1_1091_1289_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1091_1289_Open_Text.style.display='none'; Codehighlighter1_1091_1289_Closed_Image.style.display='inline'; Codehighlighter1_1091_1289_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1091_1289_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1091_1289_Closed_Text.style.display='none'; Codehighlighter1_1091_1289_Open_Image.style.display='inline'; Codehighlighter1_1091_1289_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1091_1289_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1091_1289_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE::init ();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE_NT_SERVICE_RUN (MyACEService_4,<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        SERVICE::instance (),<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ret);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE::fini ();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_1197_1276_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1197_1276_Open_Text.style.display='none'; Codehighlighter1_1197_1276_Closed_Image.style.display='inline'; Codehighlighter1_1197_1276_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1197_1276_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1197_1276_Closed_Text.style.display='none'; Codehighlighter1_1197_1276_Open_Image.style.display='inline'; Codehighlighter1_1197_1276_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span>
						<span id="Codehighlighter1_1197_1276_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span>
						<span id="Codehighlighter1_1197_1276_Open_Text">
								<span style="COLOR: #008000">/*</span>
								<span style="COLOR: #008000">    安装服务<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />         ACE::init ();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    SERVICE::instance()-&gt;insert();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ACE::fini ();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span>
								<span style="COLOR: #008000">*/</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
<img src ="http://www.cppblog.com/lovelypig/aggbug/11878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-08-31 09:15 <a href="http://www.cppblog.com/lovelypig/archive/2006/08/31/11878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACE的内存管理</title><link>http://www.cppblog.com/lovelypig/archive/2006/08/30/11851.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Wed, 30 Aug 2006 06:43:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/08/30/11851.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/11851.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/08/30/11851.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/11851.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/11851.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 分配器 描述		ACE_Allocator ACE中的分配器类的接口类。这些类使用继承和动态绑定来提供灵活性。		ACE_Static_Allocator 该分配器管理固定大小的内存。每当收到分配内存的请求时，它就移动内部指针、以返回内存chunk（“大块”）。它还假定内存一旦被分配，就再也不会被释放。		ACE_Cached_Allocator 该分配器预先分配内存池，其中含有特定数...&nbsp;&nbsp;<a href='http://www.cppblog.com/lovelypig/archive/2006/08/30/11851.html'>阅读全文</a><img src ="http://www.cppblog.com/lovelypig/aggbug/11851.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-08-30 14:43 <a href="http://www.cppblog.com/lovelypig/archive/2006/08/30/11851.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>