posts - 30,  comments - 28,  trackbacks - 0

          ??? 項目第二階段,管理客戶端和管理服務器。架構C/S,技術RMI
          ??? 今天上午做了一個簡單的測試系統,用來測試前兩天所編寫的構件:寫了一遠程服務器,一個命令行客戶端。OK,編譯時也沒出錯。
          ??? 然而運行起來,可怕的事情發生了:先前寫的實體類無法傳送給客戶端。程序拋出了異常。仔細觀察,發現是產生了對象無法序列化的IO異常。
          ??? RMI底層通過TCP協議進行通訊,ObjectInputStream和ObjectOutputStream來負責對象的輸入和輸出。實在是不明白,以前做RMI系統實驗的時候,根本沒遇到這種序列化異常:傳String就傳String,傳Vector就傳Vector。
          ?? 猜想應該是我寫的那些類無法序列化的緣故。參考了API文檔,發現這個東西:MarshalledObject,可以對其構造方法的對象進行序列化(說穿了就是變成字節流)。
          ? 迅速改造了測試程序,OK,能穿對象了。但是.....序列化以后無法反序列化!天,類對象實例全部變成了組毫無意義的字節數組。
          ? 應該有其他的辦法,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)

          隨筆分類

          隨筆檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 德阳市| 德令哈市| 南昌县| 浦北县| 汉川市| 松阳县| 东明县| 雷波县| 广东省| 黑山县| 肇东市| 鄂伦春自治旗| 凤翔县| 缙云县| 藁城市| 奉节县| 南丰县| 明星| 晋宁县| 清苑县| 昌乐县| 晴隆县| 容城县| 庆云县| 清涧县| 依兰县| 保康县| 广汉市| 南华县| 连山| 宁武县| 克东县| 涟水县| 安阳市| 会昌县| 德化县| 辉南县| 青铜峡市| 澄城县| 聊城市| 上虞市|