锘??xml version="1.0" encoding="utf-8" standalone="yes"?>九九久久自然熟的香蕉图片,久久ZYZ资源站无码中文动漫,岛国搬运www久久http://www.shnenglu.com/socketref/category/20218.htmlgis,mouse,luolasizh-cnMon, 25 Nov 2013 17:24:16 GMTMon, 25 Nov 2013 17:24:16 GMT60RPC demo: 瀹炵幇璁よ瘉鏈嶅姟鍣ㄦ帴鍙?/title><link>http://www.shnenglu.com/socketref/archive/2013/11/26/204441.html</link><dc:creator>鏀懼眮闃跨嫍 </dc:creator><author>鏀懼眮闃跨嫍 </author><pubDate>Mon, 25 Nov 2013 16:53:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2013/11/26/204441.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/204441.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2013/11/26/204441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/204441.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/204441.html</trackback:ping><description><![CDATA[鎺ュ彛瀹氫箟錛?nbsp;<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 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; ">1</span> <span style="color: #0000FF; ">interface</span> IAuthServer{<br /><span style="color: #008080; ">2</span>     CallReturn_t userAuth(string user,string passwd,<span style="color: #0000FF; ">int</span> device_type);<br /><span style="color: #008080; ">3</span>     CallReturn_t registerUser(UserRegisterInfo_t reginfo); <span style="color: #008000; ">//</span><span style="color: #008000; "> tested</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">4</span> <span style="color: #008000; "></span>};</div>瀹氫箟璁よ瘉鏈嶅姟鍣ㄦ帴鍙o紝userAuth()榪斿洖璁よ瘉鐢ㄦ埛鐨則oken<br /><br />鎺ュ彛鏈嶅姟瀹炵幇錛?nbsp;<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; "> 1</span> <span style="color: #0000FF; ">import</span> os,os.path,sys,struct,time,traceback,signal,threading,copy,base64<br /><span style="color: #008080; "> 2</span> <span style="color: #0000FF; ">import</span> datetime,base64<br /><span style="color: #008080; "> 3</span> <br /><span style="color: #008080; "> 4</span> <span style="color: #0000FF; ">from</span> datetime <span style="color: #0000FF; ">import</span> datetime<br /><span style="color: #008080; "> 5</span> <span style="color: #0000FF; ">from</span> base <span style="color: #0000FF; ">import</span> *<br /><span style="color: #008080; "> 6</span> <span style="color: #0000FF; ">import</span> tcelib as tce<br /><span style="color: #008080; "> 7</span> <span style="color: #0000FF; ">from</span> showbox <span style="color: #0000FF; ">import</span> *<br /><span style="color: #008080; "> 8</span> <span style="color: #0000FF; ">import</span> utils.misc<br /><span style="color: #008080; "> 9</span> <span style="color: #0000FF; ">import</span> utils.config<br /><span style="color: #008080; ">10</span> <span style="color: #0000FF; ">import</span> utils.cipher<br /><span style="color: #008080; ">11</span> <br /><span style="color: #008080; ">12</span> <br /><span style="color: #008080; ">13</span> os.environ.setdefault(<span style="color: #800000; ">"</span><span style="color: #800000; ">DJANGO_SETTINGS_MODULE</span><span style="color: #800000; ">"</span>, <span style="color: #800000; ">"</span><span style="color: #800000; ">database.showbox.showbox.settings</span><span style="color: #800000; ">"</span>)<br /><span style="color: #008080; ">14</span> <br /><span style="color: #008080; ">15</span> <span style="color: #0000FF; ">from</span> django.db <span style="color: #0000FF; ">import</span> connection<br /><span style="color: #008080; ">16</span> <span style="color: #0000FF; ">from</span> django.db.models <span style="color: #0000FF; ">import</span> Sum<br /><span style="color: #008080; ">17</span> <span style="color: #0000FF; ">from</span> django.db <span style="color: #0000FF; ">import</span> transaction<br /><span style="color: #008080; ">18</span> <span style="color: #008000; ">#</span><span style="color: #008000; "> import sns.core.models as cm</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">19</span> <span style="color: #008000; "></span><span style="color: #0000FF; ">import</span> database.showbox.core.models as  core<br /><span style="color: #008080; ">20</span> <span style="color: #0000FF; ">import</span> database.showbox.nosql.models as nosql<br /><span style="color: #008080; ">21</span> <br /><span style="color: #008080; ">22</span> <span style="color: #0000FF; ">class</span> AuthServerImpl(IAuthServer):<br /><span style="color: #008080; ">23</span>     <span style="color: #0000FF; ">def</span> <span style="color: #800080; ">__init__</span>(self,app):<br /><span style="color: #008080; ">24</span>         IAuthServer.<span style="color: #800080; ">__init__</span>(self)<br /><span style="color: #008080; ">25</span>         self.app = app<br /><span style="color: #008080; ">26</span> <br /><span style="color: #008080; ">27</span>     <span style="color: #0000FF; ">def</span> userAuth(self, user, passwd, device_type, ctx):<br /><span style="color: #008080; ">28</span>         cr = CallReturn_t()<br /><span style="color: #008080; ">29</span>         <span style="color: #0000FF; ">try</span>:<br /><span style="color: #008080; ">30</span>             r = core.User.objects.get(user=user,passwd=passwd)<br /><span style="color: #008080; ">31</span>             userinfo = {<br /><span style="color: #008080; ">32</span>                 <span style="color: #800000; ">"</span><span style="color: #800000; ">id</span><span style="color: #800000; ">"</span>:r.id,<br /><span style="color: #008080; ">33</span>                 <span style="color: #800000; ">"</span><span style="color: #800000; ">user</span><span style="color: #800000; ">"</span>:user,<br /><span style="color: #008080; ">34</span>                 <span style="color: #800000; ">"</span><span style="color: #800000; ">name</span><span style="color: #800000; ">"</span>:r.name,<br /><span style="color: #008080; ">35</span>                 <span style="color: #800000; ">"</span><span style="color: #800000; ">login_time</span><span style="color: #800000; ">"</span>:int(time.time()),<br /><span style="color: #008080; ">36</span>                 <span style="color: #800000; ">"</span><span style="color: #800000; ">user_type</span><span style="color: #800000; ">"</span>:SnsConsts.Authorized_User<br /><span style="color: #008080; ">37</span>             }<br /><span style="color: #008080; ">38</span>             token = utils.cipher.encryptToken(userinfo)<br /><span style="color: #008080; ">39</span>             cr.value = token<br /><span style="color: #008080; ">40</span>         <span style="color: #0000FF; ">except</span>:<br /><span style="color: #008080; ">41</span>             <span style="color: #0000FF; ">print</span> traceback.format_exc()<br /><span style="color: #008080; ">42</span>             cr = CallReturn_Error()<br /><span style="color: #008080; ">43</span>         <span style="color: #0000FF; ">return</span> cr<br /><span style="color: #008080; ">44</span> <br /><span style="color: #008080; ">45</span>     <span style="color: #0000FF; ">def</span> registerUser(self, reginfo, ctx):<br /><span style="color: #008080; ">46</span>         <span style="color: #0000FF; ">return</span> IAuthServer.registerUser(self, reginfo, ctx)<br /><span style="color: #008080; ">47</span> <br /><span style="color: #008080; ">48</span> <br /><span style="color: #008080; ">49</span> <br /><span style="color: #008080; ">50</span> <span style="color: #0000FF; ">class</span> ServerApp:<br /><span style="color: #008080; ">51</span>     <span style="color: #0000FF; ">def</span> <span style="color: #800080; ">__init__</span>(self):<br /><span style="color: #008080; ">52</span>         <span style="color: #0000FF; ">pass</span><br /><span style="color: #008080; ">53</span> <br /><span style="color: #008080; ">54</span>     <span style="color: #0000FF; ">def</span> getConfig(self):<br /><span style="color: #008080; ">55</span>         <span style="color: #008000; ">#</span><span style="color: #008000; ">return self.app.getConfig()</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">56</span> <span style="color: #008000; "></span>        <span style="color: #0000FF; ">pass</span><br /><span style="color: #008080; ">57</span> <br /><span style="color: #008080; ">58</span>     _handle = None<br /><span style="color: #008080; ">59</span>     @classmethod<br /><span style="color: #008080; ">60</span>     <span style="color: #0000FF; ">def</span> instance(cls):<br /><span style="color: #008080; ">61</span>         <span style="color: #0000FF; ">if</span> cls._handle == None:<br /><span style="color: #008080; ">62</span>             cls._handle = cls()<br /><span style="color: #008080; ">63</span>         <span style="color: #0000FF; ">return</span> cls._handle<br /><span style="color: #008080; ">64</span> <br /><span style="color: #008080; ">65</span>     <span style="color: #0000FF; ">def</span> run(self):<br /><span style="color: #008080; ">66</span>         tce.RpcCommunicator.instance().init(<span style="color: #800000; ">'</span><span style="color: #800000; ">authserver</span><span style="color: #800000; ">'</span>).initMessageRoute(<span style="color: #800000; ">'</span><span style="color: #800000; ">./services.xml</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">67</span>         server = tce.RpcCommunicator.instance().currentServer().findEndPointByName(<span style="color: #800000; ">'</span><span style="color: #800000; ">mq_authserver</span><span style="color: #800000; ">'</span>).impl<br /><span style="color: #008080; ">68</span>         adapter  = tce.RpcAdapterEasyMQ.create(<span style="color: #800000; ">'</span><span style="color: #800000; ">server</span><span style="color: #800000; ">'</span>,server)<br /><span style="color: #008080; ">69</span>         <span style="color: #008000; ">#</span><span style="color: #008000; ">娌℃湁涓誨姩鍙戦佹秷鎭殑鎯呭艦</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">70</span> <span style="color: #008000; "></span>        servant = AuthServerImpl(self)<br /><span style="color: #008080; ">71</span>         adapter.addServant(servant)<br /><span style="color: #008080; ">72</span>         tce.RpcCommunicator.instance().waitForShutdown()<br /><span style="color: #008080; ">73</span> <br /><span style="color: #008080; ">74</span> <span style="color: #0000FF; ">if</span> <span style="color: #800080; ">__name__</span> == <span style="color: #800000; ">'</span><span style="color: #800000; ">__main__</span><span style="color: #800000; ">'</span>:<br /><span style="color: #008080; ">75</span>     ServerApp.instance().run()</div><br />鏈嶅姟鍣ㄥ緢綆鍗曪紝瀹炵幇鎺ュ彛IAuthService鐨勫姛鑳藉嚱鏁幫紝瀹氫箟涓涓猄erverApp錛岀劧鍚庤繍琛?nbsp;<br /><br />瀹㈡埛璋冪敤嫻嬭瘯錛?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; "> 1</span> <span style="color: #0000FF; ">from</span> datetime <span style="color: #0000FF; ">import</span> datetime<br /><span style="color: #008080; "> 2</span> <span style="color: #0000FF; ">from</span> base <span style="color: #0000FF; ">import</span> *<br /><span style="color: #008080; "> 3</span> <span style="color: #0000FF; ">import</span> tcelib as tce<br /><span style="color: #008080; "> 4</span> <span style="color: #0000FF; ">from</span> showbox <span style="color: #0000FF; ">import</span> *<br /><span style="color: #008080; "> 5</span> <span style="color: #0000FF; ">import</span> utils.misc<br /><span style="color: #008080; "> 6</span> <span style="color: #0000FF; ">import</span> utils.config<br /><span style="color: #008080; "> 7</span> <span style="color: #0000FF; ">import</span> utils.cipher<br /><span style="color: #008080; "> 8</span> <br /><span style="color: #008080; "> 9</span> <br /><span style="color: #008080; ">10</span> <span style="color: #0000FF; ">def</span> userAuthResult(result,prx):<br /><span style="color: #008080; ">11</span>     <span style="color: #0000FF; ">print</span> result<br /><span style="color: #008080; ">12</span> <br /><span style="color: #008080; ">13</span> <span style="color: #008000; ">#</span><span style="color: #008000; "> queue:client 蹇呴』鍦ㄨ皟鐢ㄦ湇鍔″櫒鐨剋rite 闃熷垪mq</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">14</span> <span style="color: #008000; "></span>communicator =tce.RpcCommunicator.instance().init()<br /><span style="color: #008080; ">15</span> conn = tce.RpcConnectionEasyMQ.create(<span style="color: #800000; ">'</span><span style="color: #800000; ">127.0.0.1</span><span style="color: #800000; ">'</span>,12301,<span style="color: #800000; ">'</span><span style="color: #800000; ">queue:mq_authserver</span><span style="color: #800000; ">'</span>)<br /><span style="color: #008080; ">16</span> local = tce.RpcConnectionEasyMQ.create(<span style="color: #800000; ">'</span><span style="color: #800000; ">127.0.0.1</span><span style="color: #800000; ">'</span>,12301,<span style="color: #800000; ">'</span><span style="color: #800000; ">queue:mq_test_client</span><span style="color: #800000; ">'</span>,tce.AF_READ)<br /><span style="color: #008080; ">17</span> conn.setLoopbackMQ(local)<br /><span style="color: #008080; ">18</span> <br /><span style="color: #008080; ">19</span> <br /><span style="color: #008080; ">20</span> prx = IAuthServerPrx(conn)<br /><span style="color: #008080; ">21</span> prx.userAuth_async(<span style="color: #800000; ">'</span><span style="color: #800000; ">test</span><span style="color: #800000; ">'</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">111111</span><span style="color: #800000; ">'</span>,1,userAuthResult)    <span style="color: #008000; ">#</span><span style="color: #008000; ">寮傛璋冪敤</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">22</span> <span style="color: #008000; "></span><span style="color: #0000FF; ">print</span> prx.userAuth(<span style="color: #800000; ">'</span><span style="color: #800000; ">test</span><span style="color: #800000; ">'</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">111111</span><span style="color: #800000; ">'</span>,1)           <span style="color: #008000; ">#</span><span style="color: #008000; ">鍚屾璋冪敤</span></div><br />21,22琛屽垎鍒祴璇曚袱縐嶈皟鐢ㄦā寮?br /><br /><br />client涓巗erver閫氳繃EasyMQ榪涜浼犻?br />easyMQ鏄釜鏈綆鍗曠殑娑堟伅闃熷垪瀹炵幇<br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.shnenglu.com/socketref/aggbug/204441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">鏀懼眮闃跨嫍 </a> 2013-11-26 00:53 <a href="http://www.shnenglu.com/socketref/archive/2013/11/26/204441.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>easymq 緙栧啓綆鍗曠殑娑堟伅鏈嶅姟http://www.shnenglu.com/socketref/archive/2013/09/23/203384.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Mon, 23 Sep 2013 10:09:00 GMThttp://www.shnenglu.com/socketref/archive/2013/09/23/203384.htmlhttp://www.shnenglu.com/socketref/comments/203384.htmlhttp://www.shnenglu.com/socketref/archive/2013/09/23/203384.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/203384.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/203384.htmleasymq 鐢ㄤ簬鏇夸唬qpid鐨勬秷鎭腑闂翠歡銆?/span>
閫氫俊鍩虹閲囩敤tce寮曟搸錛屾彁渚泃opic鍜宷ueue涓ょ闃熷垪銆?/div>
mq鏈嶅姟鍣ㄥ惎鍔ㄥ姞杞絤q鏉$洰錛屽緩绔媘q鍐呭瓨瀵硅薄錛屾彁渚涜璇侊紝瀹㈡埛紼嬪簭榪炴帴鏃舵寚瀹歮q鍚嶇О鍜岃璇佸彛浠わ紝
綆$悊紼嬪簭鍙互鍔ㄦ佸鍔犮佸垹闄ゅ拰鐩戣闃熷垪銆?/div>
mq鎸佷箙鍖栨敮鎸侊紝鏍規(guī)嵁鍒涘緩鍙傛暟鎺у埗durable銆?/div>
easymq絎竴涓増鍒╃敤鍙互鐢╬ython瀹炵幇錛屼箣鍚庤冭檻璧勬簮鍒╃敤鍜岀郴緇熶細(xì)鐢╟++瀹炵幇
easymq鏄痶ce涓涓緢濂界殑搴旂敤銆?/div>
瀹氫綅澶熻交錛屽綆鍗曪紝鏆備笉鑰冭檻璐熻澆鍧囨í鍜岃嚜鍔ㄨ礬鐢便?br />
瀹炰緥鍖杕q鏈嶅姟鍣?br />
1 def start(self):
2         tce.RpcCommunicator.instance().init('easymq.server')
3         ep = tce.RpcEndPoint(host=self.default_host,port=self.default_port)
4         adapter = tce.RpcCommunicator.instance().createAdapter('first',ep)
5         servant = self
6         adapter.addServant(servant)
7         print 'wait for shutdown..'
8         tce.RpcCommunicator.instance().waitForShutdown()

1 server = Server.instance()
2 print 'easymq server launched..'
3 server.init().start()

鎺ユ敹娑堟伅
 1 import easymq
 2 
 3 def readThread(conn):
 4     while True:
 5         m = conn.read( )
 6         print 'got one:',m
 7 
 8 if __name__=='__main__':
 9     easymq.init()
10     conn = easymq.Connection(('127.0.0.1',12301),'test',mode=easymq.READWRITE)
11     conn.open()
12     readThread(conn)

鍙戦佹秷鎭埌鎺ユ敹鑰?br />
 1 import easymq
 2 
 3 if __name__=='__main__':
 4     easymq.init()
 5 
 6     conn = easymq.Connection(('127.0.0.1',12301),'test',mode=easymq.WRITE)
 7     conn.open()
 8     for n in range(100):
 9         conn.write(str(n)*10)
10     # waitForShutdown()
11     gevent.sleep(2)







]]>Android鐨剎ml-Rpc瀹炵幇http://www.shnenglu.com/socketref/archive/2012/11/22/195526.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Thu, 22 Nov 2012 02:17:00 GMThttp://www.shnenglu.com/socketref/archive/2012/11/22/195526.htmlhttp://www.shnenglu.com/socketref/comments/195526.htmlhttp://www.shnenglu.com/socketref/archive/2012/11/22/195526.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/195526.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/195526.html闃呰鍏ㄦ枃

]]>
久久免费香蕉视频| 国产午夜精品久久久久九九电影 | 国产精品无码久久四虎| 性欧美大战久久久久久久久| 亚洲国产天堂久久久久久| 久久WWW免费人成—看片| 国产精品免费久久| 精品久久久久久久久久中文字幕| 国产精品久久久久…| 久久99国产精品久久久| 国产精品久久精品| 99热热久久这里只有精品68| 久久青青草原精品影院| 久久精品免费网站网| 久久久久一本毛久久久| 婷婷久久综合九色综合九七| 久久无码AV中文出轨人妻| 色狠狠久久AV五月综合| 久久精品国产99国产精偷 | 热久久这里只有精品| 亚洲国产天堂久久综合网站 | 国内精品免费久久影院| 一本一本久久a久久精品综合麻豆| 香蕉久久久久久狠狠色| 97久久超碰国产精品旧版| 精品久久久无码中文字幕| 久久久噜噜噜久久中文字幕色伊伊| 亚洲中文字幕无码久久精品1| 精品九九久久国内精品| 中文字幕精品久久| 久久99国产综合精品| 亚洲人成网站999久久久综合| 日韩久久久久久中文人妻| 久久精品无码一区二区日韩AV| 久久午夜无码鲁丝片秋霞| 久久亚洲高清观看| 久久久无码精品亚洲日韩京东传媒 | 久久99精品久久久久久野外 | 久久午夜福利电影| 99久久无色码中文字幕| 伊人久久无码中文字幕|