• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            的筆記

            隨時(shí)隨地編輯

            Skynet扯淡大雜燴

            第一棵蛋

          1. 每個(gè)snlua服務(wù)對(duì)應(yīng)一個(gè)lua狀態(tài)機(jī)
          2. 每個(gè)消息對(duì)應(yīng)一個(gè)coroutine
          3. --skynet.raw_dispatch_message
            -- 每個(gè)消息都創(chuàng)建一個(gè)coroutine
            local co = co_create(f)
            suspend(co, coroutine.resume(co, session,source, p.unpack(msg,sz, ...)))
            


            一對(duì)好基友

            call和response是一對(duì)好基友,服務(wù)A 調(diào)用call方法到服務(wù)B后, 服務(wù)B要應(yīng)答時(shí)調(diào)用response+結(jié)果R即可,這個(gè)時(shí)候服務(wù)A中的call返回,返回就是結(jié)果R.
          4. skynet.call
          5. skynet.response


          6. 再一對(duì)好基友

            resume和yield也是一對(duì)好基友。reume和yield分別在2個(gè)代碼快A和B中。協(xié)程穿越者W是一個(gè)隱形的碼靈,它按順序一行一行的執(zhí)行當(dāng)前l(fā)ua代碼,在A和B代碼塊中來(lái)回穿針引線。碼靈不是時(shí)空跳躍者,它只是穿行,不會(huì)在某處就消失掉。 它要么在代碼塊A中,要么就在代碼塊B中,每次穿越,嘴里都銜著上一個(gè)時(shí)空的口袋(實(shí)參),丟到當(dāng)前的時(shí)空。當(dāng)然口袋里可能是空的。
          7. 一開始coroutine(主函數(shù)co_main)是掛起的
          8. 首先A resume(...),A立即掛起到A1,碼靈背著口袋去到B,B開始從co_main執(zhí)行, 其實(shí)參正是resume(...)傳入的值
          9. B繼續(xù)走,遇到y(tǒng)iled(...)就停住了,掛起到B1
          10. 碼靈從B1門回到A 的A1門,A1門關(guān)閉
          11. 碼靈在A中繼續(xù)走,遇到resume,停下來(lái)開了一道門A2
          12. 碼靈從A的A2門進(jìn)到B中的B1門,B1門關(guān)閉
          13. 碼靈在B中繼續(xù)走,遇到y(tǒng)ield停住,又開了個(gè)B2門
          14. 這樣周而復(fù)始,在時(shí)空A和時(shí)空B中每次都會(huì)有另外一個(gè)空間的門開著,當(dāng)前空間遇到停住,就打開門進(jìn)到對(duì)方時(shí)空。
          15.  

            這淡扯得有點(diǎn)離譜啊!




            rapidjson來(lái)一蛋

            先在skynet里這樣定義一個(gè)table
            -------------------------------------------------
            {
            { id = 1, name = "map1", ip = "127.0.0.1", port = "5555" },
            { id = 2, name = "map2", ip = "127.0.0.2", port = "5556" },
            }
            
            然后在client這樣解析:
            -------------------------------------------------
            Document document;
            document.Parse(params.c_str());
            if(!document.HasMember("maps"))
            return;
            Value map = document["maps"].GetObject();
            for(Value::ConstMemberIterator itr = map.MemberBegin(); itr != map.MemberEnd(); ++itr)
            {
            }
            
            問題來(lái)了:
            1.只能解析到id=2的table出來(lái)
            2.再追加個(gè)id=3,就地址異常了。

            解決

            ID從0開始

            這蛋甚是無(wú)味

            好像是sproto中如果type被用作數(shù)組類型,必須第一個(gè)字段是id,后面填充的時(shí)候也要從0開始



            <占位標(biāo)題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          16. <占位項(xiàng)1>
          17. <占位項(xiàng)2>


          18. <占位標(biāo)題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          19. <占位項(xiàng)1>
          20. <占位項(xiàng)2>


          21. <占位標(biāo)題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          22. <占位項(xiàng)1>
          23. <占位項(xiàng)2>


          24. <占位標(biāo)題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          25. <占位項(xiàng)1>
          26. <占位項(xiàng)2>


          27. <占位標(biāo)題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          28. <占位項(xiàng)1>
          29. <占位項(xiàng)2>

          30. posted on 2018-06-03 19:12 的筆記 閱讀(644) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲欧洲久久久精品| 色综合久久中文综合网| 国产偷久久久精品专区| 国产99久久精品一区二区| 国产精品伦理久久久久久| 久久综合亚洲色HEZYO社区| 久久99国产精品一区二区| 婷婷国产天堂久久综合五月| 久久丫精品国产亚洲av不卡| 国産精品久久久久久久| 久久这里只有精品首页| 91精品国产91久久久久久蜜臀| 亚洲午夜久久久久妓女影院| 国内精品久久久久国产盗摄| 国产精品99精品久久免费| 亚洲欧美日韩久久精品| 66精品综合久久久久久久| 久久超碰97人人做人人爱| 久久精品无码一区二区WWW| 久久国产精品偷99| 77777亚洲午夜久久多喷| 色综合久久久久| 丰满少妇高潮惨叫久久久| 久久亚洲日韩看片无码| 久久久久九国产精品| 国产日产久久高清欧美一区| 中文字幕无码精品亚洲资源网久久 | 欧美777精品久久久久网| 人妻精品久久无码区| 一本久久a久久精品vr综合| 国产精品99久久久精品无码| 精品久久久久久99人妻| 国产69精品久久久久9999| 国产A级毛片久久久精品毛片| 久久99精品国产麻豆宅宅| 欧美久久综合性欧美| 99热热久久这里只有精品68| 香蕉久久夜色精品国产小说| 91精品国产综合久久四虎久久无码一级 | 婷婷综合久久中文字幕| 精品熟女少妇aⅴ免费久久|