<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[调用rpc的代码。（听说很牛），调了就牛了嘛？]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 21 Mar 2008 09:49:30 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	#include &lt;stdio.h&gt;<br/>#include &lt;time.h&gt;<br/>#include &lt;stdlib.h&gt;<br/>#include &lt;string&gt;<br/>#include &lt;iostream&gt;<br/>#include &lt;strstream&gt;<br/>#include &lt;fstream&gt;&nbsp;&nbsp;//ifstream fin(&quot;ent_list&quot;);<br/>#include &quot;../../entadmin_g/src/enterpriseManager.hpp&quot;<br/>char file_path1[1024]=&quot;/tmp/ent_not_exit.log&quot;;&nbsp;&nbsp; //enterprise.domain的数据库select语句成功日志<br/>char file_path2[1024]=&quot;/tmp/ent_failed_modify.log&quot;;&nbsp;&nbsp; //enterprise.domain的数据库select语句失败日志<br/>char file_path3[1024]=&quot;/tmp/ent_successful.log&quot;;&nbsp;&nbsp;//enterprisemail.domain数据库的update修改成功日志<br/>char file_path4[1024]=&quot;/tmp/startent_not_exit.log&quot;;&nbsp;&nbsp;//enterprisemail.domain数据库的update语句修改失败日志<br/>char file_path5[1024]=&quot;/tmp/startent_failed_modify.log&quot;;&nbsp;&nbsp;//enterprisemail.domain蕌pdate语句修改失败日志<br/>char file_path6[1024]=&quot;/tmp/startent_successful.log.log&quot;;&nbsp;&nbsp;//enterprisemail.domain蕌pdate语句修改失败日志<br/>int opt_type = 0;<br/>char opt_file[1024];<br/>void trim(string&amp; str)<br/>{<br/>str.erase(str.find_last_not_of(&#039; &#039;)+1, string::npos);<br/>str.erase(0, str.find_first_not_of(&#039; &#039;));<br/>}<br/><br/>using namespace std;<br/>int main(int argv,char * argc[])//main函数体<br/>{&nbsp;&nbsp;<br/>&nbsp;&nbsp;if(argv!=3)<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;_____________________请在ent_list文件放入企业ID_______________&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;然后请传入参数? (0,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;传入1:ent_dated_restet 0 后跟关闭企业ID的文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;传入0:ent_dated_restet 1 后跟打开企业的ID文件 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;______________________________________________________________&#124;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;_你只要将要关闭或者打开的企业ID放到ent_list由1或者0来控制即可_&#124;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124; Warn:&nbsp;&nbsp;连续一行一个企业ID（domain.enterpriseid)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;Example:&nbsp;&nbsp;scan_enterprise_dated 0 /tmp/open_enterprise.txt&#124;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &quot;&#124;______________________________________________________________&#124;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;time_t t;<br/>&nbsp;&nbsp;struct tm *x;<br/>&nbsp;&nbsp;time( &amp;t );<br/>&nbsp;&nbsp;x = localtime(&amp;t);<br/>&nbsp;&nbsp;opt_type=atoi(argc[1]); //判断是关闭企业还是恢复企业&nbsp;&nbsp;<br/>&nbsp;&nbsp;strcpy(opt_file,argc[2]); //传入的文本文件，读取企业ID&nbsp;&nbsp;<br/>&nbsp;&nbsp;enterprise *_enterprise = new enterprise( );<br/>&nbsp;&nbsp;string errMsg;<br/>&nbsp;&nbsp;//读取文本<br/>&nbsp;&nbsp;FILE*&nbsp;&nbsp; fp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;fp&nbsp;&nbsp; =&nbsp;&nbsp; fopen(opt_file,&quot;r&quot;);&nbsp;&nbsp;<br/>&nbsp;&nbsp;if&nbsp;&nbsp; ( 0==fp )<br/>&nbsp;&nbsp;{ &nbsp;&nbsp;cout &lt;&lt; &quot;What you put the filename is not exist!&#92;n &quot;; <br/>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;}&nbsp;&nbsp; <br/>&nbsp;&nbsp;fclose(fp);<br/>&nbsp;&nbsp;ifstream fin(opt_file);<br/>&nbsp;&nbsp;//读取结束<br/>&nbsp;&nbsp;ofstream fout1(file_path1,ios_base::app);//enterprise.domain的数据库select语句成功日志<br/>&nbsp;&nbsp;ofstream fout2(file_path2,ios_base::app);//enterprise.domain的数据库select语句失败日志<br/>&nbsp;&nbsp;ofstream fout3(file_path3,ios_base::app);//enterprisemail.domain数据库的update修改成功日志<br/>&nbsp;&nbsp;ofstream fout4(file_path4,ios_base::app); //enterprisemail.domain数据库的update语句修改失败日志<br/>&nbsp;&nbsp;ofstream fout5(file_path5,ios_base::app); //enterprisemail.domain数据库的update语句修改失败日志<br/>&nbsp;&nbsp;ofstream fout6(file_path6,ios_base::app); //enterprisemail.domain数据库的update语句修改失败日志<br/>&nbsp;&nbsp;string str;<br/>&nbsp;&nbsp;while(getline(fin,str))<br/>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;trim(str);//去掉读出的一行前后空格<br/>&nbsp;&nbsp;&nbsp;&nbsp;char buffer[1024];<br/>&nbsp;&nbsp;&nbsp;&nbsp;int str_to_int=atoi(str.c_str());&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buffer,&quot;%d&quot;,str_to_int);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(strcmp(str.c_str(),buffer)!=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;str&lt;&lt;&quot;Have contain special character in one line,please check...&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout2 &lt;&lt;&nbsp;&nbsp;x-&gt;tm_year+1900 &lt;&lt;&quot;年&quot;&lt;&lt;x-&gt;tm_mon+1&lt;&lt;&quot;月&quot;&lt;&lt;x-&gt;tm_mday&lt;&lt;&quot;日&quot;&lt;&lt;x-&gt;tm_hour&lt;&lt;&quot;点&quot;&lt;&lt;x-&gt;tm_min&lt;&lt;&quot;分&quot;&lt;&lt;x-&gt;tm_sec&lt;&lt;&quot;秒&#92;t&quot;&lt;&lt;&nbsp;&nbsp;&quot;Enterpriseid:&#92;t&quot; &lt;&lt;str &lt;&lt;&quot;&#92;tHave contain special character in one line,please check...&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;memset(buffer,0,1024);//销毁临时变量<br/>&nbsp;&nbsp;&nbsp;&nbsp;//判断是否是数字&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (!str.length())<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;请检查一下你的./ent_list里面是否有空行...&#92;n&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;enterprise _enterprise1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;string enterpriseID;<br/>&nbsp;&nbsp;&nbsp;&nbsp;enterpriseID=str;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ( !_enterprise1.getEnterpriseInfo( atoi( enterpriseID.c_str() ), errMsg ) )<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt;errMsg;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout1 &lt;&lt; x-&gt;tm_year+1900 &lt;&lt;&quot;年&quot;&lt;&lt;x-&gt;tm_mon+1&lt;&lt;&quot;月&quot;&lt;&lt;x-&gt;tm_mday&lt;&lt;&quot;日&quot;&lt;&lt;x-&gt;tm_hour&lt;&lt;&quot;点&quot;&lt;&lt;x-&gt;tm_min&lt;&lt;&quot;分&quot;&lt;&lt;x-&gt;tm_sec&lt;&lt;&quot;秒&#92;t&quot;&lt;&lt;enterpriseID&lt;&lt;&quot;&#92;t&quot;&lt;&lt; errMsg&lt;&lt;&quot;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete _enterprise;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ( opt_type == 0 )<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/><br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( !_enterprise-&gt;stopDomain( atoi( enterpriseID.c_str() ), errMsg ) )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout2 &lt;&lt; x-&gt;tm_year+1900 &lt;&lt;&quot;年&quot;&lt;&lt;x-&gt;tm_mon+1&lt;&lt;&quot;月&quot;&lt;&lt;x-&gt;tm_mday&lt;&lt;&quot;日&quot;&lt;&lt;x-&gt;tm_hour&lt;&lt;&quot;点&quot;&lt;&lt;x-&gt;tm_min&lt;&lt;&quot;分&quot;&lt;&lt;x-&gt;tm_sec&lt;&lt;&quot;秒&#92;t&quot;&lt;&lt;enterpriseID&lt;&lt;&quot;&#92;t&quot;&lt;&lt; errMsg&lt;&lt;&quot;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete _enterprise;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout3 &lt;&lt; x-&gt;tm_year+1900 &lt;&lt;&quot;年&quot;&lt;&lt;x-&gt;tm_mon+1&lt;&lt;&quot;月&quot;&lt;&lt;x-&gt;tm_mday&lt;&lt;&quot;日&quot;&lt;&lt;x-&gt;tm_hour&lt;&lt;&quot;点&quot;&lt;&lt;x-&gt;tm_min&lt;&lt;&quot;分&quot;&lt;&lt;x-&gt;tm_sec&lt;&lt;&quot;秒&#92;t&quot;&lt;&lt;enterpriseID&lt;&lt;&quot;&#92;t&quot;&lt;&lt;&quot;禁用企业成功&quot;&lt;&lt;&quot;&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete _enterprise;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;if ( opt_type == 1 )<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( !_enterprise-&gt;startDomain( atoi( enterpriseID.c_str() ), errMsg ) )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout5 &lt;&lt; x-&gt;tm_year+1900 &lt;&lt;&quot;年&quot;&lt;&lt;x-&gt;tm_mon+1&lt;&lt;&quot;月&quot;&lt;&lt;x-&gt;tm_mday&lt;&lt;&quot;日&quot;&lt;&lt;x-&gt;tm_hour&lt;&lt;&quot;点&quot;&lt;&lt;x-&gt;tm_min&lt;&lt;&quot;分&quot;&lt;&lt;x-&gt;tm_sec&lt;&lt;&quot;秒&#92;t&quot;&lt;&lt;enterpriseID&lt;&lt;&quot;&#92;t&quot;&lt;&lt; errMsg&lt;&lt;&quot;&#92;n&quot;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete _enterprise;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout6&lt;&lt; x-&gt;tm_year+1900 &lt;&lt;&quot;年&quot;&lt;&lt;x-&gt;tm_mon+1&lt;&lt;&quot;月&quot;&lt;&lt;x-&gt;tm_mday&lt;&lt;&quot;日&quot;&lt;&lt;x-&gt;tm_hour&lt;&lt;&quot;点&quot;&lt;&lt;x-&gt;tm_min&lt;&lt;&quot;分&quot;&lt;&lt;x-&gt;tm_sec&lt;&lt;&quot;秒&#92;t&quot;&lt;&lt;enterpriseID&lt;&lt;&quot;&#92;t&quot; &lt;&lt; errMsg&lt;&lt;&quot;&#92;n&quot;;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete _enterprise;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;fin.close(); <br/>&nbsp;&nbsp;fout1.close();<br/>&nbsp;&nbsp;fout2.close();<br/>&nbsp;&nbsp;fout3.close();<br/>&nbsp;&nbsp;fout4.close();<br/>&nbsp;&nbsp;fout5.close();<br/>&nbsp;&nbsp;fout6.close();<br/><br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;<br/><br/><br/><br/>all: scan_enterprise_dated.cgi <br/>scan_enterprise_dated.cgi:<br/>&nbsp;&nbsp;g++ -o ./scan_enterprise_dated.cgi scan_enterprise_dated.cpp ../../db/rpcserver/common/bin/freebsd/rpcsql_g.a ../../entadmin_g/oldlib/libStrLib.a ../../db/rpcserver/qmail/bin/freebsd/ent_rpcserver_clnt.a ../../db/rpcserver/qmail/ini.o ../../entsystem/email/entaddress/bin/freebsd/ent_domain.o&nbsp;&nbsp;../../entsystem/email/entaddress/bin/freebsd/ent_add_tool.o -L../../entadmin/lib/ -I../../entadmin/lib/&nbsp;&nbsp;<br/>clean:<br/>&nbsp;&nbsp;rm -Rf scan_enterprise_dated.cgi <br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 调用rpc的代码。（听说很牛），调了就牛了嘛？]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>