• <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>

            08年08月12日

            Posted on 2008-08-12 20:09 RichardHe 閱讀(1571) 評論(8)  編輯 收藏 引用
            原因:今天游戲出現(xiàn)一個很嚴(yán)重的BUG,就是通過帳號服務(wù)器驗(yàn)證時,有時候驗(yàn)證完以后進(jìn)入角色選擇時,竟然出現(xiàn)別人的帳號角色;
            這可不是一個小BUG,對于一個程序員來說可是致命的錯誤;由于在本地服務(wù)器測試時,同時通過驗(yàn)證帳號服務(wù)器的消息是十分少的,
            所以在本地一開始沒發(fā)現(xiàn)這個BUG;還有就是看來我在程序中使用全局變量實(shí)在是不好,才使得這個BUG沒及時發(fā)現(xiàn).
            問題是這樣產(chǎn)生的,如果很多消息同時過來請求帳號服務(wù)器,那在那個唯一一個對應(yīng)帳號的數(shù)字ID為最后一個.而在登錄LOGIN中的帳號
            和ID傳遞時的ID和本身的ID是不一樣的,所以才會出現(xiàn)這個帳號對應(yīng)別人的角色列表.我恨,這個問題沒意識到.

            解決:先在傳遞的時候把帳號和ID綁定,或者用一個HASH_MAP把帳號和ID和服務(wù)器列表保存起來,再轉(zhuǎn)到LOGIN服務(wù)器是時再根據(jù)用戶
            名找到他的ID,從而再轉(zhuǎn)角色服務(wù)器.這樣就不會錯了!


            Feedback

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-12 20:42 by lonkil
            這個Bug可不是一般的Bug。

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-12 20:46 by 陳梓瀚(vczh)
            囧,我的程序是完全沒有全局變量的,不得不有的那幾個要么就是singleton專門用來初始化一些必要的API調(diào)用,要么在占有的時候絕對會有critical section。我保證在所有new操作在main開始之后開始,所有delete操作在main結(jié)束之前結(jié)束。

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-12 21:08 by RichardHe
            @lonkil
            是的啊..真汗顏啊!

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-12 21:13 by RichardHe
            @陳梓瀚(vczh)
            弄同步確實(shí)是個好方法,不過有時候?qū)Ψ降某绦蚓褪钱惒?弄的你也只能這樣.
            呵呵..向你學(xué)習(xí)了!

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-13 11:17 by abettor
            @陳梓瀚(vczh)

            囧,我的程序是完全沒有全局變量的,不得不有的那幾個要么就是singleton專門用來初始化一些必要的API調(diào)用,要么在占有的時候絕對會有 critical section。我保證在所有new操作在main開始之后開始,所有delete操作在main結(jié)束之前結(jié)束。

            ——好習(xí)慣!現(xiàn)在如果還在面向?qū)ο蟮某绦蚶锎罅糠簽E的使用全局變量,那恐怕肯定是要出問題的了。singleton雖然有點(diǎn)矯情,但是是非常有效的。我的方法是,singleton中的對象必須用get/set訪問,而get/set方法本身就是synchorized的。這樣一來,大家用起來就省心又放心了。

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-13 12:29 by RichardHe
            @abettor
            而get/set方法本身就是synchorized的???

            具體怎么實(shí)現(xiàn)的啊?

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-13 12:31 by 空明流轉(zhuǎn)
            一定要同步。vc說的對。

            # re: 08年08月12日  回復(fù)  更多評論   

            2008-08-13 13:23 by RichardHe
            @空明流轉(zhuǎn)
            我也知道同步當(dāng)然是好了.但是對方處理的不是同步.所以我們這邊也只能對它單獨(dú)處理了.能同步的話什么問題都解決了.

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


            posts - 94, comments - 138, trackbacks - 0, articles - 94

            Copyright © RichardHe

            国产Av激情久久无码天堂| 亚洲va久久久噜噜噜久久天堂| 丰满少妇高潮惨叫久久久| 国内精品久久久久| 久久国产成人午夜aⅴ影院| 久久久久九九精品影院| 一本色道久久综合亚洲精品| 久久久久亚洲av无码专区| 国产精品美女久久久网AV| 久久久久久免费视频| 精品免费tv久久久久久久| 久久人妻少妇嫩草AV蜜桃| 久久精品国产秦先生| 亚洲精品美女久久久久99| 国产69精品久久久久99| 亚洲乱码精品久久久久..| 免费一级做a爰片久久毛片潮| 国产精品久久久久jk制服| 欧美精品九九99久久在观看| 91精品久久久久久无码| 亚洲国产精品高清久久久| 精品久久久久久无码人妻热| 7777久久亚洲中文字幕| 亚洲国产精品无码久久| 久久久久久久久久久久久久| 久久AⅤ人妻少妇嫩草影院| 日本久久久精品中文字幕| 久久午夜伦鲁片免费无码| 久久夜色精品国产亚洲| 亚洲色欲久久久久综合网 | 久久精品无码午夜福利理论片| 久久免费观看视频| 久久久久香蕉视频| 久久九九久精品国产| 久久天天躁狠狠躁夜夜2020老熟妇| 99久久国产免费福利| 99久久婷婷国产综合精品草原| 热久久这里只有精品| 国产精品久久久99| 久久综合给合综合久久| 亚洲人成无码久久电影网站|