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

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


            Feedback

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

            Copyright © RichardHe

            中文国产成人精品久久不卡 | 久久国产成人亚洲精品影院| 亚洲国产天堂久久综合| 2020最新久久久视精品爱| 久久亚洲私人国产精品vA| 国色天香久久久久久久小说| 国产免费久久精品99久久| 亚洲国产成人久久精品动漫| 91久久精品91久久性色| 久久国产亚洲高清观看| 精品国产乱码久久久久久郑州公司 | 久久天天躁狠狠躁夜夜avapp| 久久久久女教师免费一区| 久久国产高清一区二区三区| 久久精品国产一区二区| 久久久久人妻一区精品| 合区精品久久久中文字幕一区| 久久久久亚洲av毛片大| 亚洲精品综合久久| 伊人久久久AV老熟妇色| 国产精品美女久久久m| 成人妇女免费播放久久久| 国产亚洲综合久久系列| 国产福利电影一区二区三区久久久久成人精品综合 | 久久久久久av无码免费看大片| 久久国产综合精品五月天| 一级做a爰片久久毛片免费陪| 久久久久亚洲AV成人网人人网站 | 久久久久久久亚洲精品| 伊人久久无码精品中文字幕| 亚洲国产另类久久久精品黑人 | 日日噜噜夜夜狠狠久久丁香五月| 香蕉久久夜色精品升级完成| 久久精品国内一区二区三区| 一本色道久久综合狠狠躁篇| 久久精品亚洲日本波多野结衣| 中文字幕亚洲综合久久2| 久久精品国产精品亚洲精品| 精品免费tv久久久久久久| 伊人久久国产免费观看视频 | 2022年国产精品久久久久|