﻿<?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++博客-网络服务器软件开发/中间件开发，关注ACE/ICE/boost</title><link>http://www.cppblog.com/true/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 22 Apr 2026 00:46:10 GMT</lastBuildDate><pubDate>Wed, 22 Apr 2026 00:46:10 GMT</pubDate><ttl>60</ttl><item><title>thrift：绝对值得研究</title><link>http://www.cppblog.com/true/archive/2011/09/26/156790.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Sun, 25 Sep 2011 17:31:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/09/26/156790.html</guid><wfw:comment>http://www.cppblog.com/true/comments/156790.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/09/26/156790.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/156790.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/156790.html</trackback:ping><description><![CDATA[<div>http://thrift.apache.org/</div><br />主要特色：<br />1.代码设计的优雅，小巧，进一步定制能力强<br />2.支持的语言众多，目前是见过的支持语言最多的<br />3.不仅有序列化机制，还带有rpc功能。<br />4.等等<br /><br />如果说只是用于服务端内部，protobuf在在序列化方面由于thrift，ice在rpc方面远胜过thrift，但如果想在客户端和服务端使用的话，thrift的小巧优势就非常明显了。thrift既可以用在客户端和服务端之间，也可以用于服务端内部之间，对于打造一个统一平台是非常适合的.<br /><img src ="http://www.cppblog.com/true/aggbug/156790.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-09-26 01:31 <a href="http://www.cppblog.com/true/archive/2011/09/26/156790.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几句感想的话</title><link>http://www.cppblog.com/true/archive/2011/08/28/154538.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Sun, 28 Aug 2011 04:02:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/08/28/154538.html</guid><wfw:comment>http://www.cppblog.com/true/comments/154538.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/08/28/154538.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/154538.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/154538.html</trackback:ping><description><![CDATA[<div>多角度思考问题，主动分担，有效沟通，应急处理，合作大于挑战</div><img src ="http://www.cppblog.com/true/aggbug/154538.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-08-28 12:02 <a href="http://www.cppblog.com/true/archive/2011/08/28/154538.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>给ZThread提供一个patch</title><link>http://www.cppblog.com/true/archive/2011/05/29/147632.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Sun, 29 May 2011 09:44:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/05/29/147632.html</guid><wfw:comment>http://www.cppblog.com/true/comments/147632.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/05/29/147632.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/147632.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/147632.html</trackback:ping><description><![CDATA[&nbsp;<a href="http://zthread.sourceforge.net/">http://zthread.sourceforge.net/</a>&nbsp;&nbsp;<br />&nbsp;这个库设计的很小巧，优雅，符合我个人的审美观，linux下通过编译时会出现错误，主要是由于gcc的老语法所致，由于库的作者2005年停止了更新，所以这一块一直没改，这里提供一个patch，其实很简单，就是替换了下几个语句，内容为：<span class="Apple-style-span" style="font-size: 13px; ">&nbsp; &nbsp; &nbsp;</span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; ">#(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)&nbsp;put&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">&nbsp;file&nbsp;under&nbsp;top&nbsp;ZThread&nbsp;directory,such&nbsp;</span><span style="color: #0000FF; ">as</span><span style="color: #000000; ">&nbsp;ZThread</span><span style="color: #000000; ">-</span><span style="color: #000000; ">2.3</span><span style="color: #000000; ">.</span><span style="color: #000000; ">2</span><span style="color: #000000; ">/</span><span style="color: #000000; ">,and<br />#(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)&nbsp;cd&nbsp;ZThread</span><span style="color: #000000; ">-</span><span style="color: #000000; ">2.3</span><span style="color: #000000; ">.</span><span style="color: #000000; ">2</span><span style="color: #000000; "><br />#(</span><span style="color: #000000; ">2</span><span style="color: #000000; ">)&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">zthread</span><span style="color: #000000; ">-</span><span style="color: #000000; ">patch.sh&nbsp;&nbsp;(chmod&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">x&nbsp;zthread</span><span style="color: #000000; ">-</span><span style="color: #000000; ">patch.sh&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;necessary)<br />#(</span><span style="color: #000000; ">3</span><span style="color: #000000; ">)&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">configure<br />#(</span><span style="color: #000000; ">4</span><span style="color: #000000; ">)&nbsp;make<br /><br />sed&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">i&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">/if(!isDisabled())/s/^.*/&nbsp;&nbsp;&nbsp;&nbsp;if(!this-&gt;isDisabled())/</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">include</span><span style="color: #000000; ">/</span><span style="color: #000000; ">zthread</span><span style="color: #000000; ">/</span><span style="color: #000000; ">Guard.h<br />sed&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">i&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">/waiterArrived(self)/s/^.*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&gt;waiterArrived(self);/</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">src</span><span style="color: #000000; ">/</span><span style="color: #000000; ">MutexImpl.h<br />sed&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">i&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">/waiterDeparted(self)/s/^.*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&gt;waiterDeparted(self);/</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">src</span><span style="color: #000000; ">/</span><span style="color: #000000; ">MutexImpl.h<br />sed&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">i&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">/ownerAcquired(self)/s/^.*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&gt;ownerAcquired(self);/</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">src</span><span style="color: #000000; ">/</span><span style="color: #000000; ">MutexImpl.h<br />sed&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">i&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">/ownerReleased(impl)/s/^.*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&gt;ownerReleased(impl);/</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">src</span><span style="color: #000000; ">/</span><span style="color: #000000; ">MutexImpl.h</span></div><div></div><img src ="http://www.cppblog.com/true/aggbug/147632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-05-29 17:44 <a href="http://www.cppblog.com/true/archive/2011/05/29/147632.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tcpdump的常用方式</title><link>http://www.cppblog.com/true/archive/2011/05/25/147104.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Wed, 25 May 2011 10:53:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/05/25/147104.html</guid><wfw:comment>http://www.cppblog.com/true/comments/147104.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/05/25/147104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/147104.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/147104.html</trackback:ping><description><![CDATA[<p>1.sudo /usr/sbin/tcpdump -i eth1 -n port 7999</p>
<p>2.sudo /usr/sbin/tcpdump -i any -X -n -s0 port 7999</p>
<p>3.sudo /usr/sbin/tcpdump -i any -X -n -s0 dst port&nbsp; 7999 and ip[39]==0 and ip[40]==2<br />最后的&nbsp;ip[39]==0 and ip[40]==0是过滤条件，含义为，从ip头开始算起的第39个字节为十进制0，第40个字节为十进制2</p><img src ="http://www.cppblog.com/true/aggbug/147104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-05-25 18:53 <a href="http://www.cppblog.com/true/archive/2011/05/25/147104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql的加密函数</title><link>http://www.cppblog.com/true/archive/2011/04/06/143517.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Wed, 06 Apr 2011 06:04:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/04/06/143517.html</guid><wfw:comment>http://www.cppblog.com/true/comments/143517.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/04/06/143517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/143517.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/143517.html</trackback:ping><description><![CDATA[<div class=informaltable>
<table border=1>
    <colgroup>
    <col>
    <col></colgroup>
    <tbody>
        <tr>
            <td><span class=bold><strong>Compression or encryption</strong></span></td>
            <td><span class=bold><strong>Uncompression or decryption</strong></span></td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_aes_encrypt"><font color=#800080><u>AES_ENCRYT()</u></font></a></td>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_aes_encrypt"><font color=#800080><u>AES_DECRYPT()</u></font></a></td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_compress"><font color=#800080><u>COMPRESS()</u></font></a></td>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_uncompress"><font color=#800080><u>UNCOMPRESS()</u></font></a></td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_encode"><font color=#800080><u>ENCODE()</u></font></a></td>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_decode"><font color=#800080><u>DECODE()</u></font></a></td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_des_encrypt"><font color=#800080><u>DES_ENCRYPT()</u></font></a></td>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_des_decrypt"><font color=#800080><u>DES_DECRYPT()</u></font></a></td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_encrypt"><u><font color=#800080>ENCRYPT()</font></u></a></td>
            <td>Not available</td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_md5"><u><font color=#800080>MD5()</font></u></a></td>
            <td>Not available</td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_old_password"><u><font color=#800080>OLD_PASSWORD()</font></u></a></td>
            <td>Not available</td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_password"><u><font color=#800080>PASSWORD()</font></u></a></td>
            <td>Not available</td>
        </tr>
        <tr>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_sha1"><u><font color=#800080>SHA() or SHA1()</font></u></a></td>
            <td>Not available</td>
        </tr>
        <tr>
            <td>Not available</td>
            <td><a href="mk:@MSITStore:C:\Program%20Files\MySQL\MySQL%20Server%205.0\Docs\manual.chm::/ch12s09.html#function_uncompressed_length"><u><font color=#800080>UNCOMPRESSED_LENGTH()</font></u></a></td>
        </tr>
    </tbody>
</table>
</div>
从文档中的描述来看，mysql是支持AES和DES的 
<img src ="http://www.cppblog.com/true/aggbug/143517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-04-06 14:04 <a href="http://www.cppblog.com/true/archive/2011/04/06/143517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>netbean调试php</title><link>http://www.cppblog.com/true/archive/2011/01/29/139563.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Fri, 28 Jan 2011 17:57:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/01/29/139563.html</guid><wfw:comment>http://www.cppblog.com/true/comments/139563.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/01/29/139563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/139563.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/139563.html</trackback:ping><description><![CDATA[<br>netbean对中文的支持力度是很强的，<a href="http://netbeans.org/kb/docs/php/debugging_zh_CN.html">http://netbeans.org/kb/docs/php/debugging_zh_CN.html</a>，需要安装xdebug，<a href="http://www.xdebug.org/index.php">http://www.xdebug.org/index.php</a>，感觉还可以
<img src ="http://www.cppblog.com/true/aggbug/139563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-01-29 01:57 <a href="http://www.cppblog.com/true/archive/2011/01/29/139563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用微软企业库连接mysql碰到的奇怪问题</title><link>http://www.cppblog.com/true/archive/2011/01/24/139216.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Mon, 24 Jan 2011 04:38:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/01/24/139216.html</guid><wfw:comment>http://www.cppblog.com/true/comments/139216.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/01/24/139216.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/139216.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/139216.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;有个存储过程内容如下：<br>&nbsp;&nbsp;&nbsp;
<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: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;InsertProfile(Profile&nbsp;model)<br><img id=Codehighlighter1_47_776_Open_Image onclick="this.style.display='none'; Codehighlighter1_47_776_Open_Text.style.display='none'; Codehighlighter1_47_776_Closed_Image.style.display='inline'; Codehighlighter1_47_776_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_47_776_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_47_776_Closed_Text.style.display='none'; Codehighlighter1_47_776_Open_Image.style.display='inline'; Codehighlighter1_47_776_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_47_776_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_47_776_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_55_714_Open_Image onclick="this.style.display='none'; Codehighlighter1_55_714_Open_Text.style.display='none'; Codehighlighter1_55_714_Closed_Image.style.display='inline'; Codehighlighter1_55_714_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_55_714_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_55_714_Closed_Text.style.display='none'; Codehighlighter1_55_714_Open_Image.style.display='inline'; Codehighlighter1_55_714_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_55_714_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_55_714_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;DbCommand&nbsp;dbc&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;m_Db.GetStoredProcCommand(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Profile_Insert</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_Db.AddInParameter(dbc,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@pSourceID</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;DbType.String,&nbsp;model.SourceID);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_Db.AddInParameter(dbc,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@pName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;DbType.String,&nbsp;model.Name);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_Db.AddInParameter(dbc,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@pAddress</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;DbType.String,&nbsp;model.Address);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_Db.AddInParameter(dbc,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@pCity</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;DbType.String,&nbsp;model.City);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_Db.AddInParameter(dbc,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@pTel</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;DbType.String,&nbsp;model.Tel);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_Db.AddInParameter(dbc,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@pCode</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;DbType.String,&nbsp;model.code);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;obj&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;m_Db.ExecuteScalar(dbc);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(obj&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_642_684_Open_Image onclick="this.style.display='none'; Codehighlighter1_642_684_Open_Text.style.display='none'; Codehighlighter1_642_684_Closed_Image.style.display='inline'; Codehighlighter1_642_684_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_642_684_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_642_684_Closed_Text.style.display='none'; Codehighlighter1_642_684_Open_Image.style.display='inline'; Codehighlighter1_642_684_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_642_684_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_642_684_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">.Parse(obj.ToString());<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_693_711_Open_Image onclick="this.style.display='none'; Codehighlighter1_693_711_Open_Text.style.display='none'; Codehighlighter1_693_711_Closed_Image.style.display='inline'; Codehighlighter1_693_711_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_693_711_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_693_711_Closed_Text.style.display='none'; Codehighlighter1_693_711_Open_Image.style.display='inline'; Codehighlighter1_693_711_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_693_711_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_693_711_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(System.Exception&nbsp;e)<br><img id=Codehighlighter1_745_774_Open_Image onclick="this.style.display='none'; Codehighlighter1_745_774_Open_Text.style.display='none'; Codehighlighter1_745_774_Closed_Image.style.display='inline'; Codehighlighter1_745_774_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_745_774_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_745_774_Closed_Text.style.display='none'; Codehighlighter1_745_774_Open_Image.style.display='inline'; Codehighlighter1_745_774_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_745_774_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_745_774_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<br>上面的AddInParameter的参数顺序和Profile_insert在数据库中定义的参数顺序不同。之前都能正常工作，上周六突然发现不行了，实际写入表的时候，顺序乱掉了，直到今天才找到解决方案：<strong>把AddIn的参数顺序和声明的参数保持一致</strong>。这个问题太奇怪了。大概环境是，表的存储引擎为MyISAM，上百万记录，mysql部署在ubuntu，mysql版本5.1.53。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最开始的思路是：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;代码问题&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.&nbsp;DbCommand dbc = m_Db.GetStoredProcCommand("Profile_Insert");的多线程调用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3. mysql的配置问题<br>思维定势导致没怀疑过参数顺序,上面存储过程是为说明问题而临时改动的，实际系统中的存储过程和业务有很强的关联，不方便介绍.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src ="http://www.cppblog.com/true/aggbug/139216.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-01-24 12:38 <a href="http://www.cppblog.com/true/archive/2011/01/24/139216.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ICE服务的线程池配置</title><link>http://www.cppblog.com/true/archive/2011/01/22/139117.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Sat, 22 Jan 2011 08:18:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/01/22/139117.html</guid><wfw:comment>http://www.cppblog.com/true/comments/139117.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/01/22/139117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/139117.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/139117.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在手册的"The Ice Run Time in Detail"的"The Ice Threading Model"章节有详细介绍，摘录常用部分：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.每个communicator会创建两个线程池：分别命名为Ice.ThreadPool.Client和Ice.ThreadPool.Server<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.name.Size：初始线程池的数量，默认为1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.name.SizeMax：线程池中最大线程数量，默认为1。线程的数量在Size和SizeMax之间动态调整<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.name.SizeWarn：线程池的警戒线，超过此值，Ice运行时会输出警告日志信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.name.StackSize：线程池中线程的栈的大小，单位字节，默认为OS的默认值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.name.Serialize：大于零表示序列化同一个连接的所有请求，默认为不序列化，即无序的。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.默认情况下，所有adapter共享communicator的线程池，但也可以根据具体情况指定单独的线程池，暂时用不到，不多解释了
<img src ="http://www.cppblog.com/true/aggbug/139117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-01-22 16:18 <a href="http://www.cppblog.com/true/archive/2011/01/22/139117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>买到票了，从丽泽桥到日照的</title><link>http://www.cppblog.com/true/archive/2011/01/22/139111.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Sat, 22 Jan 2011 05:59:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/01/22/139111.html</guid><wfw:comment>http://www.cppblog.com/true/comments/139111.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/01/22/139111.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/139111.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/139111.html</trackback:ping><description><![CDATA[平时每天只有一班车，08:10出发，春运的最后几天都是加车的，但票价从176涨到190，一般正常的车去车站排队还是可以买到的，但是通过电话预定几乎打不进去，总得来说，票是肯定能买到的.
<img src ="http://www.cppblog.com/true/aggbug/139111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-01-22 13:59 <a href="http://www.cppblog.com/true/archive/2011/01/22/139111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IIS 7.5 Express 就是个推广工具</title><link>http://www.cppblog.com/true/archive/2011/01/19/138851.html</link><dc:creator>true</dc:creator><author>true</author><pubDate>Wed, 19 Jan 2011 04:24:00 GMT</pubDate><guid>http://www.cppblog.com/true/archive/2011/01/19/138851.html</guid><wfw:comment>http://www.cppblog.com/true/comments/138851.html</wfw:comment><comments>http://www.cppblog.com/true/archive/2011/01/19/138851.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/true/comments/commentRss/138851.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/true/services/trackbacks/138851.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下载链接<a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=abc59783-89de-4adc-b770-0a720bb21deb">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=abc59783-89de-4adc-b770-0a720bb21deb</a><br>msi安装文件才3.9M，非常不错，小巧适合开发用途，下载完毕，安装时提示,.NET Framework 需要 &gt;= 4.0，我使用的是VS2008，版本不够，突然想到这不就是为了推广VS2010吗？公司开发机用不了，家里的笔记本还是可以用的,以前都是用apache，看来也有必要安装IIS了。</p>
<img src ="http://www.cppblog.com/true/aggbug/138851.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/true/" target="_blank">true</a> 2011-01-19 12:24 <a href="http://www.cppblog.com/true/archive/2011/01/19/138851.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>