锘??xml version="1.0" encoding="utf-8" standalone="yes"?>九九久久自然熟的香蕉图片,久久ZYZ资源站无码中文动漫,岛国搬运www久久http://m.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://m.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://m.shnenglu.com/socketref/archive/2013/11/26/204441.html</guid><wfw:comment>http://m.shnenglu.com/socketref/comments/204441.html</wfw:comment><comments>http://m.shnenglu.com/socketref/archive/2013/11/26/204441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/socketref/comments/commentRss/204441.html</wfw:commentRss><trackback:ping>http://m.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://m.shnenglu.com/socketref/aggbug/204441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/socketref/" target="_blank">鏀懼眮闃跨嫍 </a> 2013-11-26 00:53 <a href="http://m.shnenglu.com/socketref/archive/2013/11/26/204441.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>easymq 緙栧啓綆鍗曠殑娑堟伅鏈嶅姟http://m.shnenglu.com/socketref/archive/2013/09/23/203384.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Mon, 23 Sep 2013 10:09:00 GMThttp://m.shnenglu.com/socketref/archive/2013/09/23/203384.htmlhttp://m.shnenglu.com/socketref/comments/203384.htmlhttp://m.shnenglu.com/socketref/archive/2013/09/23/203384.html#Feedback0http://m.shnenglu.com/socketref/comments/commentRss/203384.htmlhttp://m.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://m.shnenglu.com/socketref/archive/2012/11/22/195526.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Thu, 22 Nov 2012 02:17:00 GMThttp://m.shnenglu.com/socketref/archive/2012/11/22/195526.htmlhttp://m.shnenglu.com/socketref/comments/195526.htmlhttp://m.shnenglu.com/socketref/archive/2012/11/22/195526.html#Feedback0http://m.shnenglu.com/socketref/comments/commentRss/195526.htmlhttp://m.shnenglu.com/socketref/services/trackbacks/195526.html闃呰鍏ㄦ枃

]]>
jizzjizz国产精品久久| 一本色道久久综合狠狠躁篇| 久久无码专区国产精品发布| 久久久无码一区二区三区| 久久久久高潮综合影院| 人妻精品久久无码区| 777久久精品一区二区三区无码| 久久午夜电影网| 久久中文精品无码中文字幕| 久久精品中文闷骚内射| 精品久久久久久无码中文字幕| 亚洲日韩中文无码久久| 99久久精品国产一区二区| 久久人人爽人人爽人人片AV麻烦| 久久综合久久综合久久综合| 思思久久精品在热线热| 99久久国产亚洲高清观看2024| 日韩精品久久久肉伦网站| 精品久久久久久无码免费| 99久久er这里只有精品18| 一极黄色视频久久网站| 久久久久久国产精品美女| 久久综合九色综合精品| 99re久久精品国产首页2020| 精品国产青草久久久久福利| 久久伊人中文无码| 欧美国产成人久久精品| 久久国产精品免费| 久久精品国产一区二区电影| 国产精品激情综合久久| 国产精品久久久99| 久久久久无码专区亚洲av| 国产综合免费精品久久久| 国内精品伊人久久久久网站| 久久免费视频网站| 青青草国产成人久久91网| 国产精品欧美亚洲韩国日本久久| 久久天堂电影网| 亚洲伊人久久大香线蕉苏妲己| 国产精品99久久久久久www| 久久天天躁狠狠躁夜夜2020|