很久很久以前

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            34 隨筆 :: 4 文章 :: 17 評論 :: 0 Trackbacks
          寫程序中遇到一個問題?如下:
          mySoc?=?new?Socket(svrAddress,5555);
          
          
          myInput?=?new?ObjectInputStream(mySoc.getInputStream());//有問題
          myOutput?=?new?ObjectOutputStream(mySoc.getOutputStream());//有問題
          //myInput?=?new?DataInputStream(mySoc.getInputStream());
          //myOutput?=?new?DataOutputStream(mySoc.getOutputStream());?
          注銷的語句運行可以成功
          但是未注銷的那部分?運行時就卡在那里了
          但是卻沒有拋出異常
          請教原因是什么?有什么問題
          該怎么解決呢?

          找了好久終于再網上找到關于這個問題的說明了?因為問題比較特殊?所以貼出來希望對大家
          有幫助
          
          主機端先建立ObjectInputStream后建立ObjectOutputStream,則對應地客戶端要先建立
          ObjectOutputStream后建立ObjectInputStream,否則會造成兩方互相等待數據而導致死
          鎖。
          
          原因是建立ObjectInputStream對象是需要先接收一定的header數據,接收到這些數據之前
          會處于阻塞狀態。故而為了防止這種死鎖狀態,通訊兩方的
          ObjectInputStraem,ObjectOutputStream必須注意順序對應使用。
          
          
          目前相應的解決辦法還沒有找到?如果要解決?可以嘗試重載對象輸入輸出流
          posted on 2006-12-30 12:46 Long Long Ago 閱讀(951) 評論(1)  編輯  收藏 所屬分類: others

          評論

          # re: java Object輸入輸出流中的一個問題zz[未登錄] 2007-06-02 09:56 小蝦米
          太謝謝這位好 人 了 。一個 困擾 我 半個月的問題 終于在你這找到答案了。謝謝!!
          謝謝!!  回復  更多評論
            

          主站蜘蛛池模板: 旺苍县| 游戏| 兖州市| 济宁市| 清丰县| 巴马| 洛扎县| 郎溪县| 凤山市| 枝江市| 西华县| 寻乌县| 龙门县| 孝感市| 宝应县| 南安市| 江达县| 济南市| 馆陶县| 黄大仙区| 阿拉尔市| 古丈县| 双峰县| 基隆市| 桃源县| 镇赉县| 思茅市| 石林| 普兰店市| 砚山县| 和硕县| 建瓯市| 陕西省| 闽清县| 余干县| 新建县| 张家界市| 武宣县| 津市市| 鹤峰县| 三门峡市|