1.infocom2006(完整版/切割版)在BubbleRap中無法正常執行,跑一個小時後,會在ConnectionUp=…=CWindowCentrality的getGlobalCentrality中發生NullPointerException程式錯誤,如下原因在於:原本的CWindowCentrality的getGlobalCentrality中沒有做例外處理,修改後即可.修改前(壞掉)修改後(正常)2.Infocom2006在BubbleRap中會造成NullPointerException問題(此為BubbleRap本身設計造成的bug,而修正此bug後的ONE版本都會標記”修正版”)原因:當buffersize設3Mmessagesize設25k代表messages只能存120個msg當7649秒從messages刪除Y4之後,Y4還存在於ActiveRouter的outgoingmessages內因為在update時tryMessagesForConnected從頭到尾都使用outgoingmessages取m跟con,並不會發現messages中已經刪除Y4了直到transferDone時才去messages找Y4,已經早就被刪除了,而造成NULL(詳細說明可參考20140310投影片)解決方法:DecisionEngineRouter(上圖)修改前(下圖)修改後在tryMessagesForConnected前先檢查Messages內的msg在不在,則可避免nullpointer問題3.不管TTL多少,跑出來的cost和deliveryratio都一樣解決方法:在DecisionEngineRouter的createNewMessage中加入m.setTtl(this.msgTtl);00.10.20.30.40.50.60.70.80.9delivery_ratioTTL280330total_costTTL4.Eclipse執行BubbleRap時遇到:解決方法:RunConfiguration的Arguments要加入bubble.txt5.將以下幾個資料夾和檔案放到javaproject/src資料夾,就可以用run.bat去執行compiler跟one執行小黑窗版,然後用Eclipse瀏覽code,但可能小黑窗compiler過,改變了classpath之類的,就會導致Eclipse無法跑這份程式了,只能用Eclipse瀏覽code,還算方便(按住ctrl移到object或method上可以自動進入該class)結論:用小黑窗跑程式,用eclipse看code