posts - 30,  comments - 28,  trackbacks - 0

          ??? 項目第二階段,管理客戶端和管理服務器。架構C/S,技術RMI
          ??? 今天上午做了一個簡單的測試系統,用來測試前兩天所編寫的構件:寫了一遠程服務器,一個命令行客戶端。OK,編譯時也沒出錯。
          ??? 然而運行起來,可怕的事情發(fā)生了:先前寫的實體類無法傳送給客戶端。程序拋出了異常。仔細觀察,發(fā)現是產生了對象無法序列化的IO異常。
          ??? RMI底層通過TCP協議進行通訊,ObjectInputStream和ObjectOutputStream來負責對象的輸入和輸出。實在是不明白,以前做RMI系統實驗的時候,根本沒遇到這種序列化異常:傳String就傳String,傳Vector就傳Vector。
          ?? 猜想應該是我寫的那些類無法序列化的緣故。參考了API文檔,發(fā)現這個東西:MarshalledObject,可以對其構造方法的對象進行序列化(說穿了就是變成字節(jié)流)。
          ? 迅速改造了測試程序,OK,能穿對象了。但是.....序列化以后無法反序列化!天,類對象實例全部變成了組毫無意義的字節(jié)數組。
          ? 應該有其他的辦法,SUN的Java文檔實在不能和MSDN相比,太過于簡單啦。
          ? 經過3個小時的資料查閱和測試,終于找到了種正確而且異常簡單的方法:對先前的代碼進行簡單的重構:讓他們統統實現java.io.Serializable接口。只改一行代碼,全部解決!
          ? ^_^

          posted on 2006-07-24 14:44 murainwood 閱讀(279) 評論(0)  編輯  收藏 所屬分類: Java讀書筆記
          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          如果真的給你一片天,你敢不敢要?

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 绥德县| 城市| 怀宁县| 新乡县| 凤凰县| 曲麻莱县| 丰顺县| 惠来县| 彭阳县| 迁西县| 吴旗县| 洪雅县| 如皋市| 望都县| 弥勒县| 望谟县| 新巴尔虎右旗| 育儿| 富民县| 平果县| 集贤县| 德江县| 邢台市| 翁源县| 清原| 巴林左旗| 资中县| 襄城县| 岚皋县| 察雅县| 东丰县| 象山县| 旌德县| 襄城县| 龙岩市| 杨浦区| 岳普湖县| 黔西县| 平潭县| 和田市| 泗阳县|