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 閱讀(287) 評論(0)  編輯  收藏 所屬分類: Java讀書筆記
          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 观塘区| 德格县| 文登市| 弥渡县| 哈巴河县| 商河县| 永济市| 青川县| 鲁山县| 临沧市| 文水县| 茌平县| 井研县| 崇文区| 长宁区| 河西区| 永春县| 宜黄县| 万宁市| 崇左市| 洛阳市| 加查县| 青神县| 霍山县| 肥西县| 义马市| 清河县| 隆化县| 盐亭县| 定安县| 吕梁市| 四会市| 健康| 小金县| 衡水市| 淳安县| 石棉县| 扎囊县| 且末县| 鲁山县| 肃北|