﻿<?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++博客-蔡东赟-随笔分类-测试训练</title><link>http://www.cppblog.com/cdy20/category/12625.html</link><description>qq：286402937  
weibo： http://weibo.com/caidongyun
群：41830909
更多资料：微刊  http://t.cn/zT53Ryw  
</description><language>zh-cn</language><lastBuildDate>Wed, 26 Jun 2013 15:38:31 GMT</lastBuildDate><pubDate>Wed, 26 Jun 2013 15:38:31 GMT</pubDate><ttl>60</ttl><item><title>Micro-Development-Kit 学习记录 mdk 高性能网络库</title><link>http://www.cppblog.com/cdy20/archive/2013/06/25/201302.html</link><dc:creator>蔡东赟</dc:creator><author>蔡东赟</author><pubDate>Tue, 25 Jun 2013 12:02:00 GMT</pubDate><guid>http://www.cppblog.com/cdy20/archive/2013/06/25/201302.html</guid><wfw:comment>http://www.cppblog.com/cdy20/comments/201302.html</wfw:comment><comments>http://www.cppblog.com/cdy20/archive/2013/06/25/201302.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cdy20/comments/commentRss/201302.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cdy20/services/trackbacks/201302.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 库地址：https://github.com/huoyu820125/Micro-Development-Kit&nbsp;=========================	ST**表示单线程&nbsp;//开始监听	bool&nbsp;Start(&nbsp;int&nbsp;nMaxMonitor&nbsp;);	//增加一个监听对象	bool&nbsp;AddMonitor(&nbsp;S...&nbsp;&nbsp;<a href='http://www.cppblog.com/cdy20/archive/2013/06/25/201302.html'>阅读全文</a><img src ="http://www.cppblog.com/cdy20/aggbug/201302.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cdy20/" target="_blank">蔡东赟</a> 2013-06-25 20:02 <a href="http://www.cppblog.com/cdy20/archive/2013/06/25/201302.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ZeroMQ 初体验 </title><link>http://www.cppblog.com/cdy20/archive/2012/04/01/169791.html</link><dc:creator>蔡东赟</dc:creator><author>蔡东赟</author><pubDate>Sun, 01 Apr 2012 08:26:00 GMT</pubDate><guid>http://www.cppblog.com/cdy20/archive/2012/04/01/169791.html</guid><wfw:comment>http://www.cppblog.com/cdy20/comments/169791.html</wfw:comment><comments>http://www.cppblog.com/cdy20/archive/2012/04/01/169791.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/cdy20/comments/commentRss/169791.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cdy20/services/trackbacks/169791.html</trackback:ping><description><![CDATA[1百w条 发送接收 119秒<br /><br />0mq 单线程 性能测试 实例<br /><br /><img src="http://www.cppblog.com/images/cppblog_com/cdy20/testzeromq.png" width="663" height="94" alt="" /><br /><br />client<br /><br /><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"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;#include&nbsp;&lt;assert.h&gt;<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;#include&nbsp;&lt;stdio.h&gt;<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>.h&gt;<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;#include&nbsp;&lt;zmq.h&gt;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;#include&nbsp;&lt;time.h&gt;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main()<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<br /><span style="color: #008080; ">10</span>&nbsp;printf("client1!");<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;clock_t&nbsp;start&nbsp;=&nbsp;clock();<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;rc;<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;*ctx,&nbsp;*s;<br /><span style="color: #008080; ">14</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctx&nbsp;=&nbsp;zmq_init(1);<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(ctx);<br /><span style="color: #008080; ">17</span>&nbsp;<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;=&nbsp;zmq_socket(ctx,&nbsp;ZMQ_REQ);<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(s);<br /><span style="color: #008080; ">20</span>&nbsp;<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;zmq_connect(s,&nbsp;"tcp://127.0.0.1:5555");<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(rc&nbsp;==&nbsp;0);<br /><span style="color: #008080; ">23</span>&nbsp;<br /><span style="color: #008080; ">24</span>&nbsp;<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=0;&nbsp;i&nbsp;&lt;&nbsp;1000000;&nbsp;++i)<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;rc;<br /><span style="color: #008080; ">28</span>&nbsp;<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq_msg_t&nbsp;query,&nbsp;resultset;<br /><span style="color: #008080; ">30</span>&nbsp;<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;send</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;*query_string&nbsp;=&nbsp;"hello&nbsp;ZeroMQ.";<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;zmq_msg_init_size(&amp;query,&nbsp;strlen(query_string)+1);<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(rc&nbsp;==&nbsp;0);<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(zmq_msg_data(&amp;query),&nbsp;query_string,&nbsp;strlen(query_string)+1);<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;zmq_send(s,&nbsp;&amp;query,&nbsp;0);<br /><span style="color: #008080; ">37</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(rc&nbsp;==&nbsp;0);<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq_msg_close(&amp;query);<br /><span style="color: #008080; ">39</span>&nbsp;<br /><span style="color: #008080; ">40</span>&nbsp;<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;recv</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;zmq_msg_init(&amp;resultset);<br /><span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(rc&nbsp;==&nbsp;0);<br /><span style="color: #008080; ">44</span>&nbsp;<br /><span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc&nbsp;=&nbsp;zmq_recv(s,&nbsp;&amp;resultset,&nbsp;0);<br /><span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(rc&nbsp;==&nbsp;0);<br /><span style="color: #008080; ">47</span>&nbsp;<br /><span style="color: #008080; ">48</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">printf("ack:&nbsp;%s\n",&nbsp;(const&nbsp;char&nbsp;*)zmq_msg_data(&amp;resultset));</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq_msg_close(&amp;resultset);<br /><span style="color: #008080; ">50</span>&nbsp;<br /><span style="color: #008080; ">51</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">52</span>&nbsp;<br /><span style="color: #008080; ">53</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clock_t&nbsp;end&nbsp;=&nbsp;clock();<br /><span style="color: #008080; ">54</span>&nbsp;<br /><span style="color: #008080; ">55</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">double</span>&nbsp;d&nbsp;=&nbsp;(<span style="color: #0000FF; ">double</span>)(end&nbsp;-&nbsp;start)&nbsp;/&nbsp;CLOCKS_PER_SEC;<br /><span style="color: #008080; ">56</span>&nbsp;<br /><span style="color: #008080; ">57</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("start:%ld&nbsp;end:%ld&nbsp;total:%lf&nbsp;sec\d",start,end,&nbsp;d);<br /><span style="color: #008080; ">58</span>&nbsp;<br /><span style="color: #008080; ">59</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq_close(s);<br /><span style="color: #008080; ">60</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq_term(ctx);<br /><span style="color: #008080; ">61</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system("pause");<br /><span style="color: #008080; ">62</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">63</span>&nbsp;}</div><br /><br />srv<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Hello&nbsp;World&nbsp;server&nbsp;in&nbsp;C++<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Binds&nbsp;REP&nbsp;socket&nbsp;to&nbsp;tcp:</span><span style="color: #008000; ">//</span><span style="color: #008000; ">*:5555<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Expects&nbsp;"Hello"&nbsp;from&nbsp;client,&nbsp;replies&nbsp;with&nbsp;"World"<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;#include&nbsp;&lt;zmq.hpp&gt;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br /><span style="color: #008080; ">10</span>&nbsp;#include&nbsp;&lt;iostream&gt;<br /><span style="color: #008080; ">11</span>&nbsp;#include&nbsp;&lt;windows.h&gt;<br /><span style="color: #008080; ">12</span>&nbsp;#include&nbsp;&lt;Winbase.h&gt;<br /><span style="color: #008080; ">13</span>&nbsp;#pragma&nbsp;comment(lib,&nbsp;"Kernel32.lib")<br /><span style="color: #008080; ">14</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main&nbsp;()&nbsp;{<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Prepare&nbsp;our&nbsp;context&nbsp;and&nbsp;socket</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;zmq::context_t&nbsp;context&nbsp;(1);<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq::socket_t&nbsp;socket&nbsp;(context,&nbsp;ZMQ_REP);<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;socket.bind&nbsp;("tcp://*:5555");<br /><span style="color: #008080; ">20</span>&nbsp;<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(<span style="color: #0000FF; ">true</span>)&nbsp;{<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq::message_t&nbsp;request;<br /><span style="color: #008080; ">23</span>&nbsp;<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Wait&nbsp;for&nbsp;next&nbsp;request&nbsp;from&nbsp;client</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;socket.recv&nbsp;(&amp;request);<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">std::cout&nbsp;&lt;&lt;&nbsp;"Received&nbsp;Hello"&nbsp;&lt;&lt;&nbsp;std::endl;<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #008000; "><br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Do&nbsp;some&nbsp;'work'<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">Sleep(1);<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #008000; "><br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;Send&nbsp;reply&nbsp;back&nbsp;to&nbsp;client</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zmq::message_t&nbsp;reply&nbsp;(5);<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy&nbsp;((<span style="color: #0000FF; ">void</span>&nbsp;*)&nbsp;reply.data&nbsp;(),&nbsp;"World",&nbsp;5);<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;socket.send&nbsp;(reply);<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">37</span>&nbsp;}<br /><br /><br />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</div><img src ="http://www.cppblog.com/cdy20/aggbug/169791.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cdy20/" target="_blank">蔡东赟</a> 2012-04-01 16:26 <a href="http://www.cppblog.com/cdy20/archive/2012/04/01/169791.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>笔记</title><link>http://www.cppblog.com/cdy20/archive/2011/07/22/151664.html</link><dc:creator>蔡东赟</dc:creator><author>蔡东赟</author><pubDate>Fri, 22 Jul 2011 09:17:00 GMT</pubDate><guid>http://www.cppblog.com/cdy20/archive/2011/07/22/151664.html</guid><wfw:comment>http://www.cppblog.com/cdy20/comments/151664.html</wfw:comment><comments>http://www.cppblog.com/cdy20/archive/2011/07/22/151664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cdy20/comments/commentRss/151664.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cdy20/services/trackbacks/151664.html</trackback:ping><description><![CDATA[<div><div> <br />2011-8-8 立秋<br />晚上：等旅游回来，重构成多线程架构，统一多窗口管理<br /><br />早上：脑子冒出了一个问题<br />关于多线程架构 通信的想法<br />一种：采用公共存储区域，资源互斥保护，便于数据通讯<br />一种：统一主线程消息队列，这样子线程统一发消息到主线程，然后不用理主线程，这样便于控制，和出现问题便于跟踪，便于消息通讯<br /><br /><br /><br />2011-7-27<br />今天这么快，月底了<br /><br />qwebkit在使用google api的时候出了问题，https访问<br />历史原因，必须用openssl，要么安装，要么放两个openssl的dll，要么别的软件已经加了<br />但是这玩意1m多<br />果断废了它，使用windows api 走接口方式获取 https的服务数据<br /><br />每个月应该省很多流量，都是银子啊。<br /><br /><br /><br />2011-7-24<br />webkit&nbsp;js&nbsp;扩展遵循npapi<br />最近总是有人问，看了一下<br />所有语言&nbsp;封装的库&nbsp;都遵循这个 </div></div><br />详细参见源码brigde<img src ="http://www.cppblog.com/cdy20/aggbug/151664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cdy20/" target="_blank">蔡东赟</a> 2011-07-22 17:17 <a href="http://www.cppblog.com/cdy20/archive/2011/07/22/151664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做了 一个 xp 透明窗口</title><link>http://www.cppblog.com/cdy20/archive/2011/06/03/148014.html</link><dc:creator>蔡东赟</dc:creator><author>蔡东赟</author><pubDate>Fri, 03 Jun 2011 06:36:00 GMT</pubDate><guid>http://www.cppblog.com/cdy20/archive/2011/06/03/148014.html</guid><wfw:comment>http://www.cppblog.com/cdy20/comments/148014.html</wfw:comment><comments>http://www.cppblog.com/cdy20/archive/2011/06/03/148014.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.cppblog.com/cdy20/comments/commentRss/148014.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cdy20/services/trackbacks/148014.html</trackback:ping><description><![CDATA[做一了一个 xp 透明窗口 的demo<br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/cdy20/透明窗口.png" width="429" longdesc="xp 透明窗口 cdy20" height="619" /><br /><img src ="http://www.cppblog.com/cdy20/aggbug/148014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cdy20/" target="_blank">蔡东赟</a> 2011-06-03 14:36 <a href="http://www.cppblog.com/cdy20/archive/2011/06/03/148014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几百年没有写小程序玩，贴一个</title><link>http://www.cppblog.com/cdy20/archive/2011/02/17/140226.html</link><dc:creator>蔡东赟</dc:creator><author>蔡东赟</author><pubDate>Thu, 17 Feb 2011 06:42:00 GMT</pubDate><guid>http://www.cppblog.com/cdy20/archive/2011/02/17/140226.html</guid><wfw:comment>http://www.cppblog.com/cdy20/comments/140226.html</wfw:comment><comments>http://www.cppblog.com/cdy20/archive/2011/02/17/140226.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cdy20/comments/commentRss/140226.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cdy20/services/trackbacks/140226.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 几百年没有写小程序玩。//1 2 3 5 6 8 9&nbsp;&nbsp; -&gt;&nbsp; 1-3,5-6,8,9&nbsp;&nbsp;1#include&nbsp;"generator1.h"&nbsp;&nbsp;2&nbsp;&nbsp;3typedef&nbsp;std::vector&lt;std::wstring&gt;&nbsp;WSTRVECTOR;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/cdy20/archive/2011/02/17/140226.html'>阅读全文</a><img src ="http://www.cppblog.com/cdy20/aggbug/140226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cdy20/" target="_blank">蔡东赟</a> 2011-02-17 14:42 <a href="http://www.cppblog.com/cdy20/archive/2011/02/17/140226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>