??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品无码久久综合,青青青青久久精品国产h,久久亚洲精品无码观看不卡http://www.shnenglu.com/socketref/category/484.htmlgis,mouse,luolasizh-cnMon, 24 Jan 2011 23:25:00 GMTMon, 24 Jan 2011 23:25:00 GMT60django 与外部应用服务器通信http://www.shnenglu.com/socketref/archive/2011/01/24/139194.html攑ֱ阿狗 攑ֱ阿狗 Sun, 23 Jan 2011 16:06:00 GMThttp://www.shnenglu.com/socketref/archive/2011/01/24/139194.htmlhttp://www.shnenglu.com/socketref/comments/139194.htmlhttp://www.shnenglu.com/socketref/archive/2011/01/24/139194.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/139194.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/139194.htmldjango框架不同于j2EEQweblogic是个很好的Zj2ee的应用服务器Q里面有很多设施Q都是常d内存的,q样的服务器q有Tomcat之类的?br>但我了解的django同php一样采用^面数据库来记录用户会(x)话,状态等信息Q效率上没有直接从内存中d的要快。而我的项目需求涉及的数据l织方式是树(wi)形的嵌套l构的业务数据结构,虽然存放在^面的数据表中Q但是在查询的时候每一ơ都要多ơ的操作表记录,效果很低?br>例如Q??x)员表字D? ?x)员~号Q介lh~号Q节点h~号Q,一个成员即可以是会(x)员,也可以是介绍人或者是节点人,所以在一条记录关联到多条记录或者被多次兌Q那在查询的时候要列出 Q会(x)员名Q介lh名,节点人名Q,~写的sql比较繁琐,如果写成一条的话,可以用inner jion或?select in的方式实玎ͼ但是׃数据库内部要创徏多个记录~冲来搜寻,D效率极低?br>不得不考虑在django外部开发独立的应用服务E序Q运行时加蝲?x)员表中的所有成员信息,q以指针的Ş式将q个?x)员拓扑树(wi)表现出来,那在查询索的时候根据id和会(x)员名U做个hash表,Ҏ(gu)id直接定位到拓扑树(wi)的节点上Q这个节点的子几点可以是指向介绍人、节点h节点的地址Q那索的速度可以提高100倍?br>p么决定了Q所以想着 django要与外部应用E序交互的问题,当然是想Cice通信框架?br>在mod_python配置参数中有一:(x)
PythonHandler django.core.handlers.modpython
modpython.pyq个代码只要修改了之后mod_python重新加载,且这个模块将帔R内存Q好了,可以把他当做一个入口服务实例了Q?br>ice的初始化放在modpython.handler()函数内,通过request参数传递到调用的每个模块内Q?br>开心了Q?br>



攑ֱ阿狗 2011-01-24 00:06 发表评论
]]>
HttpServer+ TileCachehttp://www.shnenglu.com/socketref/archive/2010/11/18/134002.html攑ֱ阿狗 攑ֱ阿狗 Thu, 18 Nov 2010 08:49:00 GMThttp://www.shnenglu.com/socketref/archive/2010/11/18/134002.htmlhttp://www.shnenglu.com/socketref/comments/134002.htmlhttp://www.shnenglu.com/socketref/archive/2010/11/18/134002.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/134002.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/134002.html    随即而来的是攑ּGeoserverQ自己重新开发地图渲染服务器Q用了QT令我效果满意Q那再用那一套GeoServer的东西就不合时宜了,TileCache也是需要绑定Apache+mod_python才能工作Q简直太累最了,配置个环境还是不太容易,x自己只是x供一个WMS的服务Ş了何必那么麻烦呢?地图服务器也有了Q生CacheTiles也开发了自动化的工具Q将全国不同昄比例的图块按256x256规格分别攑օ多个文gQ这样备份v来就快速多了?br>    之前看过TileCache的代码,那时候只是ؓ(f)了编写一个新的Cache Store backendQ现在重新回q头来,我决定抛弃apacheQ语aq是用pythonQ之前做一个酒店广告投攄l时开发过一个Http代理服务器,所以轻车熟路了Q保留其Http服务功能Q加上TileCache的WMS服务代码Q一个swMap的WMS 服务器就可以诞生了?br>    端详了一?x)儿TileCacheQ发现是多么的简单,几乎不用多修改什么地方就可以完成?br>    ׃我的swMap服务E序提供了预先缓存和实时l制地图的功能,所以通过Http可以以两U模式进行,当然实时模式是用于调试地囑ֱSLD时派上大用场?br>    实时l制的时候我的WMS服务器通过Iceq接到swMap服务器,当缓存访问时我的WMS服务器直接从本地Tile文g中读取,那时多么舒服的事情哪Q?






攑ֱ阿狗 2010-11-18 16:49 发表评论
]]>
做游戏交易系l,采用ICE之后定义的系l接?/title><link>http://www.shnenglu.com/socketref/archive/2010/09/30/128108.html</link><dc:creator>攑ֱ阿狗 </dc:creator><author>攑ֱ阿狗 </author><pubDate>Wed, 29 Sep 2010 16:38:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2010/09/30/128108.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/128108.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2010/09/30/128108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/128108.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/128108.html</trackback:ping><description><![CDATA[<br><br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">  1</span> <span style="color: #008000;">/*</span><span style="color: #008000;"><br></span><span style="color: #008080;">  2</span> <span style="color: #008000;"><br></span><span style="color: #008080;">  3</span> <span style="color: #008000;">2010.3.25 zhangbin <br></span><span style="color: #008080;">  4</span> <span style="color: #008000;">1.create,定义game-core的网l接?br></span><span style="color: #008080;">  5</span> <span style="color: #008000;"><br></span><span style="color: #008080;">  6</span> <span style="color: #008000;">协定:<br></span><span style="color: #008080;">  7</span> <span style="color: #008000;">    1.数据cd名称NdT<br></span><span style="color: #008080;">  8</span> <span style="color: #008000;"><br></span><span style="color: #008080;">  9</span> <span style="color: #008000;">2010.3.27 zhangin<br></span><span style="color: #008080;"> 10</span> <span style="color: #008000;"><br></span><span style="color: #008080;"> 11</span> <span style="color: #008000;">2010.3.29 zhangbin<br></span><span style="color: #008080;"> 12</span> <span style="color: #008000;">1. 取消工作单GameWorkSheetTl构<br></span><span style="color: #008080;"> 13</span> <span style="color: #008000;">2. 修改 ISecureService.auth()安全认证的数据类?br></span><span style="color: #008080;"> 14</span> <span style="color: #008000;">2010.3.30 zhangbin <br></span><span style="color: #008080;"> 15</span> <span style="color: #008000;">1. heartbeat()Ud到IService接口<br></span><span style="color: #008080;"> 16</span> <span style="color: #008000;"></span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;"> 17</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 18</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 19</span> <span style="color: #000000;">#ifndef _GTR_ICE<br></span><span style="color: #008080;"> 20</span> <span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> _GTR_ICE</span><span style="color: #000000;"><br></span><span style="color: #008080;"> 21</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 22</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 23</span> <span style="color: #000000;">module gtr {<br></span><span style="color: #008080;"> 24</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 25</span> <span style="color: #000000;">dictionary</span><span style="color: #000000;"><</span><span style="color: #0000ff;">string</span><span style="color: #000000;">,</span><span style="color: #0000ff;">string</span><span style="color: #000000;">></span><span style="color: #000000;">    HashValueSet;<br></span><span style="color: #008080;"> 26</span> <span style="color: #000000;">dictionary</span><span style="color: #000000;"><</span><span style="color: #0000ff;">string</span><span style="color: #000000;">,</span><span style="color: #0000ff;">string</span><span style="color: #000000;">></span><span style="color: #000000;">    ReturnValueT;<br></span><span style="color: #008080;"> 27</span> <span style="color: #000000;">sequence</span><span style="color: #000000;"><</span><span style="color: #0000ff;">byte</span><span style="color: #000000;">></span><span style="color: #000000;">                 ByteStreamT;<br></span><span style="color: #008080;"> 28</span> <span style="color: #000000;">sequence</span><span style="color: #000000;"><</span><span style="color: #0000ff;">string</span><span style="color: #000000;">></span><span style="color: #000000;">            StringListT;<br></span><span style="color: #008080;"> 29</span> <span style="color: #000000;">sequence</span><span style="color: #000000;"><</span><span style="color: #000000;">HashValueSet</span><span style="color: #000000;">></span><span style="color: #000000;">    HashValueListT;<br></span><span style="color: #008080;"> 30</span> <span style="color: #000000;">sequence</span><span style="color: #000000;"><</span><span style="color: #0000ff;">int</span><span style="color: #000000;">></span><span style="color: #000000;">                    IntListT;<br></span><span style="color: #008080;"> 31</span> <span style="color: #000000;">sequence</span><span style="color: #000000;"><</span><span style="color: #000000;">StringListT</span><span style="color: #000000;">></span><span style="color: #000000;">    StringListListT;<br></span><span style="color: #008080;"> 32</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 33</span> <span style="color: #000000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> CallReturnT{<br></span><span style="color: #008080;"> 34</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">bool</span><span style="color: #000000;">    succ;<br></span><span style="color: #008080;"> 35</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> msg;<br></span><span style="color: #008080;"> 36</span> <span style="color: #000000;">    HashValueSet props;<br></span><span style="color: #008080;"> 37</span> <span style="color: #000000;">};<br></span><span style="color: #008080;"> 38</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 39</span> <span style="color: #000000;"></span><span style="color: #0000ff;">const</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> IMAGEJPEG </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">;<br></span><span style="color: #008080;"> 40</span> <span style="color: #000000;"></span><span style="color: #0000ff;">const</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> IMAGEPNG </span><span style="color: #000000;">=</span><span style="color: #000000;">2</span><span style="color: #000000;"> ;<br></span><span style="color: #008080;"> 41</span> <span style="color: #000000;"></span><span style="color: #0000ff;">const</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> IMAGEBMP </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">3</span><span style="color: #000000;"> ;<br></span><span style="color: #008080;"> 42</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 43</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 44</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">囑փ数据</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 45</span> <span style="color: #008000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> ImageDataT{<br></span><span style="color: #008080;"> 46</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> type;<br></span><span style="color: #008080;"> 47</span> <span style="color: #000000;">    ByteStreamT    bytes;<br></span><span style="color: #008080;"> 48</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> width;<br></span><span style="color: #008080;"> 49</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> height;    <br></span><span style="color: #008080;"> 50</span> <span style="color: #000000;">};<br></span><span style="color: #008080;"> 51</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 52</span> <span style="color: #000000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameAuthDataT{<br></span><span style="color: #008080;"> 53</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;">             type;     </span><span style="color: #008000;">//</span><span style="color: #008000;"> 1- 囄 ,2 - 坐标</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 54</span> <span style="color: #008000;"></span><span style="color: #000000;">    ImageDataT image; </span><span style="color: #008000;">//</span><span style="color: #008000;">U宝囄</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 55</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> seckey;      </span><span style="color: #008000;">//</span><span style="color: #008000;">U宝坐标</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 56</span> <span style="color: #008000;"></span><span style="color: #000000;">};<br></span><span style="color: #008080;"> 57</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 58</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 59</span> <span style="color: #000000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameIdentifyT{<br></span><span style="color: #008080;"> 60</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> id;            </span><span style="color: #008000;">//</span><span style="color: #008000;">游戏~号</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 61</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> tradeNo;    </span><span style="color: #008000;">//</span><span style="color: #008000;">交易单号</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 62</span> <span style="color: #008000;"></span><span style="color: #000000;">};<br></span><span style="color: #008080;"> 63</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 64</span> <span style="color: #000000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> ServiceIdentifyT{<br></span><span style="color: #008080;"> 65</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> id;<br></span><span style="color: #008080;"> 66</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> version;<br></span><span style="color: #008080;"> 67</span> <span style="color: #000000;">};<br></span><span style="color: #008080;"> 68</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 69</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 70</span> <span style="color: #000000;"></span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> IService{<br></span><span style="color: #008080;"> 71</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;">            getType();             </span><span style="color: #008000;">//</span><span style="color: #008000;">  </span><span style="color: #008000;"><br></span><span style="color: #008080;"> 72</span> <span style="color: #008000;"></span><span style="color: #000000;">    ServiceIdentifyT    getId();                </span><span style="color: #008000;">//</span><span style="color: #008000;">service module id</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 73</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;">                             getTimestamp();        </span><span style="color: #008000;">//</span><span style="color: #008000;">获取pȝ旉  1970之后U数</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 74</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">void</span><span style="color: #000000;">                             shutdown();<br></span><span style="color: #008080;"> 75</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">void</span><span style="color: #000000;">                             heartbeat(</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> senderType,</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> senderId);  </span><span style="color: #008000;">//</span><span style="color: #008000;">发送者类型和Id</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 76</span> <span style="color: #008000;"></span><span style="color: #000000;">};<br></span><span style="color: #008080;"> 77</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 78</span> <span style="color: #000000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 79</span> <span style="color: #008000;">enum LogMsgLevelT{<br></span><span style="color: #008080;"> 80</span> <span style="color: #008000;">    logDEBUG,<br></span><span style="color: #008080;"> 81</span> <span style="color: #008000;">    logINFO,<br></span><span style="color: #008080;"> 82</span> <span style="color: #008000;">    logCRITICAL,<br></span><span style="color: #008080;"> 83</span> <span style="color: #008000;">    logERROR<br></span><span style="color: #008080;"> 84</span> <span style="color: #008000;">};<br></span><span style="color: #008080;"> 85</span> <span style="color: #008000;"></span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;"> 86</span> <span style="color: #000000;">    <br></span><span style="color: #008080;"> 87</span> <span style="color: #000000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> LogMessageT{<br></span><span style="color: #008080;"> 88</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;">                     xclass;    </span><span style="color: #008000;">//</span><span style="color: #008000;">消息cd    </span><span style="color: #008000;"><br></span><span style="color: #008080;"> 89</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;">                 msg;    <br></span><span style="color: #008080;"> 90</span> <span style="color: #000000;">};<br></span><span style="color: #008080;"> 91</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 92</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">日志功能</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 93</span> <span style="color: #008000;"></span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> ILogger {<br></span><span style="color: #008080;"> 94</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> gameMsg(GameIdentifyT gameId,</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> timetick,LogMessageT msg);  </span><span style="color: #008000;">//</span><span style="color: #008000;"> timetick - 1970~ s</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 95</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> gameImage(GameIdentifyT gameId,</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> timetick,</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> opName,ImageDataT image);    </span><span style="color: #008000;">//</span><span style="color: #008000;">抓图 opName - 执行游戏步骤名称</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 96</span> <span style="color: #008000;"></span><span style="color: #000000;">};<br></span><span style="color: #008080;"> 97</span> <span style="color: #000000;"><br></span><span style="color: #008080;"> 98</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">安全理Q包括秘宝认证等</span><span style="color: #008000;"><br></span><span style="color: #008080;"> 99</span> <span style="color: #008000;"></span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> ISecure {<br></span><span style="color: #008080;">100</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> auth(GameIdentifyT gameId,GameAuthDataT data); <br></span><span style="color: #008080;">101</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">102</span> <span style="color: #000000;"><br></span><span style="color: #008080;">103</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">日志服务?/span><span style="color: #008000;"><br></span><span style="color: #008080;">104</span> <span style="color: #008000;"></span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> ILogServer extends ILogger,IService{<br></span><span style="color: #008080;">105</span> <span style="color: #000000;">    <br></span><span style="color: #008080;">106</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">107</span> <span style="color: #000000;"><br></span><span style="color: #008080;">108</span> <span style="color: #000000;"></span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> ISecureServer extends ISecure,IService{<br></span><span style="color: #008080;">109</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">110</span> <span style="color: #000000;"><br></span><span style="color: #008080;">111</span> <span style="color: #000000;"><br></span><span style="color: #008080;">112</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">一个游戏Q务相关的信息</span><span style="color: #008000;"><br></span><span style="color: #008080;">113</span> <span style="color: #008000;"></span><span style="color: #0000ff;">enum</span><span style="color: #000000;"> GameWorkSheetTypeT{<br></span><span style="color: #008080;">114</span> <span style="color: #000000;">    gwsPost,                    </span><span style="color: #008000;">//</span><span style="color: #008000;">邮寄</span><span style="color: #008000;"><br></span><span style="color: #008080;">115</span> <span style="color: #008000;"></span><span style="color: #000000;">    gwsAccountAudit, </span><span style="color: #008000;">//</span><span style="color: #008000;">帐号审核</span><span style="color: #008000;"><br></span><span style="color: #008080;">116</span> <span style="color: #008000;"></span><span style="color: #000000;">    gwsVerify                </span><span style="color: #008000;">//</span><span style="color: #008000;">验证</span><span style="color: #008000;"><br></span><span style="color: #008080;">117</span> <span style="color: #008000;"></span><span style="color: #000000;">};<br></span><span style="color: #008080;">118</span> <span style="color: #000000;"><br></span><span style="color: #008080;">119</span> <span style="color: #000000;"><br></span><span style="color: #008080;">120</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">邮寄</span><span style="color: #008000;"><br></span><span style="color: #008080;">121</span> <span style="color: #008000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameWorkSheetPostT {<br></span><span style="color: #008080;">122</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">long</span><span style="color: #000000;"> money;        <br></span><span style="color: #008080;">123</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">124</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">审核</span><span style="color: #008000;"><br></span><span style="color: #008080;">125</span> <span style="color: #008000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameWorkSheetAccountAuditT {<br></span><span style="color: #008080;">126</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> any;<br></span><span style="color: #008080;">127</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">128</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">验证</span><span style="color: #008000;"><br></span><span style="color: #008080;">129</span> <span style="color: #008000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameWorkSheetVerifyT {<br></span><span style="color: #008080;">130</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> any;<br></span><span style="color: #008080;">131</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">132</span> <span style="color: #000000;"><br></span><span style="color: #008080;">133</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">交易d信息<br></span><span style="color: #008080;">134</span> <span style="color: #008000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">Tasklet包含所有的业务处理cdQ但同时只有一U有?/span><span style="color: #008000;"><br></span><span style="color: #008080;">135</span> <span style="color: #008000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameTaskletT{<br></span><span style="color: #008080;">136</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> id;                            </span><span style="color: #008000;">//</span><span style="color: #008000;">d~号</span><span style="color: #008000;"><br></span><span style="color: #008080;">137</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;">      type;                            </span><span style="color: #008000;">//</span><span style="color: #008000;">处理cd</span><span style="color: #008000;"><br></span><span style="color: #008080;">138</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> no;            </span><span style="color: #008000;">//</span><span style="color: #008000;">单号</span><span style="color: #008000;"><br></span><span style="color: #008080;">139</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> gameId;    </span><span style="color: #008000;">//</span><span style="color: #008000;">游戏~号</span><span style="color: #008000;"><br></span><span style="color: #008080;">140</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> account;    </span><span style="color: #008000;">//</span><span style="color: #008000;">帐号</span><span style="color: #008000;"><br></span><span style="color: #008080;">141</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> password;<br></span><span style="color: #008080;">142</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> area;        </span><span style="color: #008000;">//</span><span style="color: #008000;">?/span><span style="color: #008000;"><br></span><span style="color: #008080;">143</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> server;    </span><span style="color: #008000;">//</span><span style="color: #008000;">服务?/span><span style="color: #008000;"><br></span><span style="color: #008080;">144</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> lineName;</span><span style="color: #008000;">//</span><span style="color: #008000;">U\名称(为空则lineNo)</span><span style="color: #008000;"><br></span><span style="color: #008080;">145</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">short</span><span style="color: #000000;">     lineNo;    </span><span style="color: #008000;">//</span><span style="color: #008000;">U\~号</span><span style="color: #008000;"><br></span><span style="color: #008080;">146</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> createTime;<br></span><span style="color: #008080;">147</span> <span style="color: #000000;">    <br></span><span style="color: #008080;">148</span> <span style="color: #000000;">    GameWorkSheetPostT post;    </span><span style="color: #008000;">//</span><span style="color: #008000;">邮寄</span><span style="color: #008000;"><br></span><span style="color: #008080;">149</span> <span style="color: #008000;"></span><span style="color: #000000;">    GameWorkSheetAccountAuditT audit;<br></span><span style="color: #008080;">150</span> <span style="color: #000000;">    GameWorkSheetVerifyT        verify;<br></span><span style="color: #008080;">151</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">152</span> <span style="color: #000000;"><br></span><span style="color: #008080;">153</span> <span style="color: #000000;"></span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> GameTaskResultT{<br></span><span style="color: #008080;">154</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> id;        </span><span style="color: #008000;">//</span><span style="color: #008000;">d~号</span><span style="color: #008000;"><br></span><span style="color: #008080;">155</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> no;        </span><span style="color: #008000;">//</span><span style="color: #008000;">单号 (冗余)</span><span style="color: #008000;"><br></span><span style="color: #008080;">156</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> gameId;    </span><span style="color: #008000;">//</span><span style="color: #008000;">游戏~号(冗余)</span><span style="color: #008000;"><br></span><span style="color: #008080;">157</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> result;        </span><span style="color: #008000;">//</span><span style="color: #008000;">处理l果</span><span style="color: #008000;"><br></span><span style="color: #008080;">158</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> errmsg;    </span><span style="color: #008000;">//</span><span style="color: #008000;">提示信息    </span><span style="color: #008000;"><br></span><span style="color: #008080;">159</span> <span style="color: #008000;"></span><span style="color: #000000;">};<br></span><span style="color: #008080;">160</span> <span style="color: #000000;"><br></span><span style="color: #008080;">161</span> <span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">gtr控制服务端接?/span><span style="color: #008000;"><br></span><span style="color: #008080;">162</span> <span style="color: #008000;"></span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> IGameHost extends IService,ILogger,ISecure{    <br></span><span style="color: #008080;">163</span> <span style="color: #000000;">    GameTaskletT                    getTask();        </span><span style="color: #008000;">//</span><span style="color: #008000;">获取d</span><span style="color: #008000;"><br></span><span style="color: #008080;">164</span> <span style="color: #008000;"></span><span style="color: #000000;">    </span><span style="color: #0000ff;">void</span><span style="color: #000000;">                                    completeTask(GameTaskResultT result);         </span><span style="color: #008000;">//<br></span><span style="color: #008080;">165</span> <span style="color: #008000;"></span><span style="color: #000000;">    <br></span><span style="color: #008080;">166</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">167</span> <span style="color: #000000;"><br></span><span style="color: #008080;">168</span> <span style="color: #000000;"><br></span><span style="color: #008080;">169</span> <span style="color: #000000;"><br></span><span style="color: #008080;">170</span> <span style="color: #000000;">};<br></span><span style="color: #008080;">171</span> <span style="color: #000000;"><br></span><span style="color: #008080;">172</span> <span style="color: #000000;"><br></span><span style="color: #008080;">173</span> <span style="color: #000000;"></span><span style="color: #0000ff;">#endif</span><span style="color: #000000;"><br></span><span style="color: #008080;">174</span> <span style="color: #000000;"><br></span><span style="color: #008080;">175</span> <span style="color: #000000;"></span></div> <br><br><img src ="http://www.shnenglu.com/socketref/aggbug/128108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">攑ֱ阿狗 </a> 2010-09-30 00:38 <a href="http://www.shnenglu.com/socketref/archive/2010/09/30/128108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ice:: 一直不敢用Bidirectional的双向调?/title><link>http://www.shnenglu.com/socketref/archive/2009/06/23/88336.html</link><dc:creator>攑ֱ阿狗 </dc:creator><author>攑ֱ阿狗 </author><pubDate>Mon, 22 Jun 2009 19:17:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2009/06/23/88336.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/88336.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2009/06/23/88336.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/88336.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/88336.html</trackback:ping><description><![CDATA[Z解决公共|络与私有网l的IK问题,Ice提出了在单个tcpq接上的双向传输方式<br>一直以来对于Server端主动发送Rpch到Client端的应用我就一直很心的用bidirection方式Q甚xd不用Q?br>因ؓ(f)通过验证发觉要用bid则必d闭ACM理Q也意味着q个tcpq接是个长连接,只有在这个长q接上server才能<br>发v对客L(fng)的rpc调用Q但如果q接断了呢,client到server的rpch很简单,ice?x)重新发赯接,但之后的server到client?br>rpch׃行了Q这样必要求client再次初始化bid操作Q?br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">1</span> <span style="color: #000000;">proxy</span><span style="color: #000000;">-></span><span style="color: #000000;">ice_getConnection()</span><span style="color: #000000;">-></span><span style="color: #000000;">setAdapter(adapter);<br></span><span style="color: #008080;">2</span> <span style="color: #000000;">proxy</span><span style="color: #000000;">-></span><span style="color: #000000;">addClient(ident);</span></div> q个也太可怕了QIce是不要求客户直接理底层的通信q接l节的,所以客户不Ҏ(gu)知道是否被重新连?br>所以这个咚咚我个h觉得是鸡肋,不知大家如何看同<br><br>Limitations<br>Bidirectional connections have certain limitations:<br>• They can only be configured for connection-oriented transports such as TCP and SSL.<br>1168 Connection Management<br>• Most proxy factory methods have no effect on a proxy created by a connection’s<br>createProxy operation. The proxy is bound to an existing connection,<br>therefore the proxy reflects the connection’s configuration. For example, it is<br>not possible to change the timeout value of such a proxy. Similarly, it is not<br>possible to change the proxy’s security configuration: if the incoming connection<br>is secure, then the proxy must be secure, and cannot be changed to be<br>insecure. However, it is legal to change between oneway and twoway invocations.<br>• A connection established from a Glacier2 router to a server is not configured<br>for bidirectional use. Only the connection from a client to the router is bidirectional.<br>However, the client must not attempt to manually configure a bidirectional<br>connection to a router, as this is handled internally by the Ice run time.<br>• Bidirectional connections are not compatible with active connection management<br>(see Section 37.4).<br><br><img src ="http://www.shnenglu.com/socketref/aggbug/88336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">攑ֱ阿狗 </a> 2009-06-23 03:17 <a href="http://www.shnenglu.com/socketref/archive/2009/06/23/88336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tinyRpc Ztcp/xml的rpc服务?[dev...]http://www.shnenglu.com/socketref/archive/2006/01/02/2352.html攑ֱ阿狗 攑ֱ阿狗 Sun, 01 Jan 2006 16:52:00 GMThttp://www.shnenglu.com/socketref/archive/2006/01/02/2352.htmlhttp://www.shnenglu.com/socketref/comments/2352.htmlhttp://www.shnenglu.com/socketref/archive/2006/01/02/2352.html#Feedback2http://www.shnenglu.com/socketref/comments/commentRss/2352.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/2352.html      参阅 www.xmlrpc.org 的xmlrpc规范Q发现其规格比较单,|站list top50中xmlrpc的不同语a的实玎ͼ研究了xmlrpc-c,sexyRcp,phpRpc{代码,发现光实现比较复杂Q有些只是提供了xmlrpc的语a规格实现Q但没有实现|络传输的功能?BR>      ׃xmlrpc规范的网l传输采用httpQ一个请求必dZơtcp的交互,D性能上得不到提高Q而且只是单向调用{限Ӟ我考虑重新~写xmlrpc的实玎ͼ提供xmlrpc-server,化其操作接口,支持在客h和服务器之间保持一个tcpq接Q持l的q行xmlrpc双向调用.
      支持语言:      C++ / Python
      计划旉:   2005.12.31    ~ 2006.1.3

2006.1.4    完成rpcServer c++版本



攑ֱ阿狗 2006-01-02 00:52 发表评论
]]>
?.1版本q有一点点http://www.shnenglu.com/socketref/archive/2005/12/11/1679.html攑ֱ阿狗 攑ֱ阿狗 Sun, 11 Dec 2005 12:20:00 GMThttp://www.shnenglu.com/socketref/archive/2005/12/11/1679.htmlhttp://www.shnenglu.com/socketref/comments/1679.htmlhttp://www.shnenglu.com/socketref/archive/2005/12/11/1679.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/1679.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/1679.html
      pȝ在闲暇之余慢慢进行,没有写Q何设计文,所有的设计都在脑子里面Q对于结构非常清晎ͼ没有合适的合作伙伴Q只能慢慢做
      fas,eserver,febean,code_bean,mplayer基本完成q进行了单测试,css完成大部分编码,与alice的rpc完成通信Q已l能够通过http讉K基本的系l功能,通过操作览器可以访问前端媒体设备。前端设备只是接入了一个deskCam,用xvid~解码,不过没有关系
      今天写到了css与alice的xmlrpc通信部分Q对于资料查询,录像启动Q停止等操作卛_加入
可是接下来公司要zN出差Q可能又要耽误?IMG height=20 src="http://www.shnenglu.com/Emoticons/hitwall.gif" width=25 border=0>

q期计划:
2005.12.12~2005.12.30:
  1.完成css录像和存储的剩余~码和调?提供web接口启动录像,查询录像资料和录像的回放
  2.修改mplayer控g,增加本地录像,抓拍,回放工功?q进一步调试稳?BR>  3.提供单的webpȝ,可以q行览,控制,回放(不提供其他管?诸如用户,讑֤理)
  2006.01.01~2006.01.30
  1.整体联测完成 
  2.增加接入另外一ƾ设?比如acti或者smartsight
  3.所有系l模块入cvs  
  4.推出0.1版本
 



攑ֱ阿狗 2005-12-11 20:20 发表评论
]]>
一U持l的xmlrpc实现http://www.shnenglu.com/socketref/archive/2005/12/02/1481.html攑ֱ阿狗 攑ֱ阿狗 Fri, 02 Dec 2005 01:26:00 GMThttp://www.shnenglu.com/socketref/archive/2005/12/02/1481.htmlhttp://www.shnenglu.com/socketref/comments/1481.htmlhttp://www.shnenglu.com/socketref/archive/2005/12/02/1481.html#Feedback4http://www.shnenglu.com/socketref/comments/commentRss/1481.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/1481.html         xmlrpc-c-1.03.06  http://xmlrpc-c.sourceforge.net 一Uxmlrpc的c语言的实玎ͼ通过观看其代码,发现他选择abyss 作ؓ(f)自己的通信接口来提供http服务Q由于是Zhttp的,如果作ؓ(f)服务通信接口的话׃太理想了Q比如两个系l要l常q行双向通信Q交互的频率很高的话Q会(x)Dq种通信的开销非常大,而且都是单向通信Q一般服务端不能d调用客户端的rcpҎ(gu)Q。由于是单向通信Q造成了比?外部|络无法IK防火墙q接到内部主机的问题Q更谈不上进一步的xmlrpc调用?BR>         所以我惛_于xmlrpc-c的改造,替换掉abyssq个web服务器的通信接口Q提供一U基于tcp的常q接的通信Ҏ(gu)Q客户机和服务器都能同时注册自q回调函数Q然后通过两者之间的tcpq接q行传送xmlrp数据包?BR>

002.bmp



攑ֱ阿狗 2005-12-02 09:26 发表评论
]]>
޹Ʒ۲ӰԺþ| þùƷþþƷ| þþѹ۳ӰԺ| 99þ˾ƷۺϹۿ| 99Ʒþþþþþ| þþۺϾɫۺϾ| ŷvaþþþ| 99þ99þþƷƬ| Ʒݾþþþø| þ91Ʒ91| ƷþþþþӰԺ| ŷ޾þþþƷ| Ʒþ| ձvaĻþ| ŷ޹Ʒþѿ| 97Ʒ˾þþô߽97| þۺ˿ձ| ٸƷþþһ| þþƷŷƬ| ھƷþþžŹƷ| 㽶þþþþúݺɫ| ۺۺϾþ69| Ʒһþù| ˳վþ99ȹ | ҹƵþþþһ| ƷþĻ| þҹҹݺ| ŷaƬѿþ| Ӱһþþþó˾Ʒۺ | һɫƵþվ| ˺ݺۺϾþ88| 66þôýվȸ| Ժձһձþ | ˾þۺӰԺ| ƷŮٸaѾþ| 99þ99þþƷѿ| Ʒ99þþþƷ| þۺϾɫۺվ| þˬˬƬAV鷳| ٸлþþþ| һɫþ88Ʒۺ|