<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/zhengjie19" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/zhengjie19" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 18 Mar 2010 02:00:00 GMT</lastBuildDate><title>郑捷的专栏</title><description>CSDN博客聚合服务</description><link>http://blog.csdn.net/blogrss.aspx?username=zhengjie19</link><item><title>BitmapData draw函数使用</title><link>http://blog.csdn.net/zhengjie19/archive/2010/03/18/5391567.aspx</link><description>无&lt;img src=&quot;http://www1.feedsky.com/t1/343217023/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2010/03/18/5391567.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217023/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217023/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 18 Mar 2010 10:00:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2010/03/18/5391567.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2010/03/18/5391567.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217023/1117833</fs:itemid></item><item><title>项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】</title><link>http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326630.aspx</link><description>svn&lt;img src=&quot;http://www1.feedsky.com/t1/343217024/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326630.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217024/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217024/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 25 Feb 2010 16:18:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326630.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326630.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217024/1117833</fs:itemid></item><item><title>项目管理实践教程一、工欲善其事，必先利其器【Basic Tools】</title><link>http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326620.aspx</link><description>SVN&lt;img src=&quot;http://www1.feedsky.com/t1/343217025/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326620.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217025/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217025/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 25 Feb 2010 16:16:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326620.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2010/02/25/5326620.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217025/1117833</fs:itemid></item><item><title>在C++中使用Apache的Log4cxx记录日志</title><link>http://blog.csdn.net/zhengjie19/archive/2009/07/30/4395463.aspx</link><description>&lt;br /&gt;1.介绍&lt;br /&gt;Log4cxx是开放源代码项目Apache Logging Service的子项目之一，是Java社区著名的log4j的c++移植版，用于为C++程序提供日志功能，以便开发者对目标程序进行调试和审计。&lt;br /&gt;有关log4cxx的更多信息可以从Apache Logging Service的网站http://logging.apache.org获得。当前的稳定版本为0.9.7，本文内容及示例代码都是基于此版本。此外，示例代码的编译环境为Windows环境中的Microsoft Visual C++ .Net 2003。&lt;br /&gt;2.编译&lt;br /&gt;在此例中一律使用vc6.0实现,也可以使用vs2003编译.由于发行包不含编译后的代码,所以首先我们需要编译他的静态库和动态库.在Msvc中.&lt;br /&gt;| Msvc\static：该工程产生log4cxx的静态链接库(lib4cxx.lib和lib4cxxs.lib);&lt;br /&gt;| Msvc\dll：该工程产生log4cxx的动态链接库(lib4cxx.dll);&lt;br /&gt;注意: 编译路径中不能含有带空&lt;img src=&quot;http://www1.feedsky.com/t1/343217026/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2009/07/30/4395463.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217026/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217026/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 30 Jul 2009 21:31:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2009/07/30/4395463.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2009/07/30/4395463.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217026/1117833</fs:itemid></item><item><title>使用ACE进行网络编程</title><link>http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333670.aspx</link><description>&lt;br /&gt;ACE将网络编程进行了模式化，以便你不必每次都重复相同的代码。 &lt;br /&gt;网络编程需要处理的事情多括中断，并发，多线程等，程序格式相对固定，但是健壮的网络程序则相对复杂。为了处理这些情形，ACE内建了几个网络编程的模式。 &lt;br /&gt;最基本的模式当然是直接使用sock进行单客户单服务器单线程的一对一模型，这种模式相对简单，也和ACE关系不大，但是这样编写的程序不能处理并发的情况，可用性很差或者说基本不具有可用性。 &lt;br /&gt;最简单的处理并发但是却使用单线程的框架在ACE中称为Reactor框架，在这种框架下，Reactor扮演了协调员的角色，应用程序编制者需要首先写好各种各样的事件处理程序，然后在Reactor中进行登记，Reactor以阻塞的方式同时监视所有可能发生的事件，并且在相应的事件发生的时候调用对应的处理过程。这种框架解决了在单线程的前提下解决了并发，但是存在一定的问题，如果某个事件执行过程过长，则可能导致Reactor漏过某些事件。 &lt;br /&gt;另外一种单线程处理并发的模式称为异步I/O的Proactor模式，这种模式和前面介绍的Reactor模式其实区别不&lt;img src=&quot;http://www1.feedsky.com/t1/343217027/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333670.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217027/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217027/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 09 Jul 2009 11:31:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333670.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333670.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217027/1117833</fs:itemid></item><item><title>ACE源代码目录结构</title><link>http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333646.aspx</link><description>ACE(ADAPTIVE Communication Environment),中文的意思就是自适配通讯环境，ACE是一个用于开发网络程序的优秀的C++的框架，在国外有很广泛的使用，在国内一些大的开发通讯产品的公司也有使用。我接触ACE也有一段时间了，虽然时间不长，但我还是感觉到ACE确实是一个好东西，对于丰富自己的知识面有很大的帮助。虽然我们项目目前是采用C语言来开发，但是当接触ACE后，你会发现“喔，原来程序还可以这样”。例如：我觉得ACE里面Reactor框架就是一个非常的东西，我们在开发网络程序的时候，常常采用poll来监视各种网络事件，但当采用该框架后，你现在只是需要关系你的业务逻辑，当发生特定的网络事件后，框架会回调你的业务逻辑。其实按照这个思路，我们完全可以用C来实现类似的功能，当你完成这个后，你会发现你原来用C语言写的过程风格的代码竟然有了OO的味道。&lt;img src=&quot;http://www1.feedsky.com/t1/343217028/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333646.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217028/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217028/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 09 Jul 2009 11:27:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333646.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333646.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217028/1117833</fs:itemid></item><item><title>ACE的安装</title><link>http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333635.aspx</link><description>ACE的安装&lt;img src=&quot;http://www1.feedsky.com/t1/343217029/zhengjie19/csdn.net/s.gif?r=http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333635.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217029/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217029/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 09 Jul 2009 11:25:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333635.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2009/07/09/4333635.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217029/1117833</fs:itemid></item><item><title>setsockopt()改善程序的健壮性</title><link>http://blog.csdn.net/zhengjie19/archive/2008/12/22/3580640.aspx</link><description>&lt;br /&gt;1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分）调用&lt;br /&gt;closesocket（一般不会立即关闭而经历TIME_WAIT的过程）后想继续重用该socket：&lt;br /&gt;BOOL bReuseaddr=TRUE;&lt;br /&gt;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&amp;bReuseaddr,sizeof(BOOL)); 
&lt;br /&gt;2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭，不经历&lt;br /&gt;TIME_WAIT的过程：&lt;br /&gt;BOOL bDontLinger = FALSE; &lt;br /&gt;setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&amp;bDontLinger,sizeof(BOOL)); 
&lt;br /&gt;3.在send(),recv()过程中有时由于网络状况等原因，发收不能预期进行,而设置收发时限：&lt;br /&gt;int nNetTimeout=1000;//1秒&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217030/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217030/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 22 Dec 2008 10:30:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2008/12/22/3580640.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2008/12/22/3580640.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217030/1117833</fs:itemid></item><item><title>strtok</title><link>http://blog.csdn.net/zhengjie19/archive/2008/11/18/3325105.aspx</link><description>函数名:   strtok     &lt;br /&gt;  功     能:   查找由在第二个串中指定的分界符分隔开的单词     &lt;br /&gt;  用     法:   char   *strtok(char   *str1,   char   *str2);     &lt;br /&gt;  程序例:     &lt;br /&gt;&lt;br /&gt;  #include   &lt;br /&gt;  #include   &lt;br /&gt;&lt;br /&gt;  int   main(void)     &lt;br /&gt;  {     &lt;br /&gt;        char   input[16]   =   &quot;abc,d&quot;;     &lt;br /&gt;        char   *p;     &lt;br /&gt;&lt;br /&gt;        /*   strtok   places   a   NULL   terminator     &lt;br /&gt;        in   front   of   the   token,   if   found   */    &lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217031/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217031/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 18 Nov 2008 12:34:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2008/11/18/3325105.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2008/11/18/3325105.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217031/1117833</fs:itemid></item><item><title>重叠模型--事件对象通知</title><link>http://blog.csdn.net/zhengjie19/archive/2008/11/12/3282705.aspx</link><description>第一章 一． 重叠模型的优点 1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。 2. 比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型，重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性能。 因为它和这4种模型不同的是，使用重叠模型的应用程序通知缓冲区收发系统直接使用数据，也就是说，如果应用程序投递了一个10KB大小的缓冲区来接收数据，且数据已经到达套接字，则该数据将直接被拷贝到投递的缓冲区。 而这4种模型种，数据到达并拷贝到单套接字接收缓冲区中，此时应用程序会被告知可以读入的容量。当应用程序调用接收函数之后，数据才从单套接字缓冲区拷贝到应用程序的缓冲区，差别就体现出来了。 3. 从《windows网络编程》中提供的试验结果中可以看到，在使用了P4 1.7G Xero处理器(CPU很强啊)以及768MB的回应服务器中，最大可以处理4万多个SOC&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/zhengjie19/343217032/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/zhengjie19/343217032/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 12 Nov 2008 16:27:00 +0800</pubDate><author>zhengjie</author><guid isPermaLink="false">http://blog.csdn.net/zhengjie19/archive/2008/11/12/3282705.aspx</guid><dc:creator>zhengjie</dc:creator><fs:srclink>http://blog.csdn.net/zhengjie19/archive/2008/11/12/3282705.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/zhengjie19/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/zhengjie19/~1117837/343217032/1117833</fs:itemid></item></channel></rss>
