麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

使用ObjectStream會出現的問題

2019-11-18 13:11:38
字體:
來源:轉載
供稿:網友

  1. ObjectInputStream與ObjectOutputStream的順序問題
  在網絡通訊中,主機與客戶端若使用ObjectInputStream與ObjectOutputStream建立對象通訊,必須注重聲明此兩個對象的順序。
  如:
  主機端先建立ObjectInputStream后建立ObjectOutputStream,則對應地客戶端要先建立ObjectOutputStream后建立ObjectInputStream,否則會造成兩方互相等待數據而導致死鎖。
  原因是建立ObjectInputStream對象是需要先接收一定的header數據,接收到這些數據之前會處于阻塞狀態。以下為java API文檔的說明
  Creates an ObjectInputStream that reads from the specified InputStream.
  A serialization stream header is read from the stream and verified.
  This constrUCtor will block until the corresponding ObjectOutputStream
  has written and flushed the header.
  
  故而為了防止這種死鎖狀態,通訊兩方的ObjectInputStraem,ObjectOutputStream必須注重順序對應使用。
  
  2. ObjectInputStream接收到非ObjectOutputStream數據的問題
  在使用ObjectInputStream與ObjectOutputStream對象通訊的通訊雙方,假設客戶端程序出現錯誤,發送了非ObjectOutputStream封裝發送的數據(比如發送一個數字或字符串到主機),則主機端的ObjectInputStream接收到錯誤數據后不能自動糾正,會一直接收數據而處于阻塞狀態,從而導致通訊失敗。尚未找到解決方法。目前想的辦法為寫自己的ObjectStream類。
  
  3. 解決版本問題
  使用ObjectStream的時候會額外發送一個關于對象的序列號
  static final long serialVersionUID = ....
  手動加入此域則可避免版本差異導致的問題。
  對象序列號的計算可用SDK的serialver計算。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曰韩一二三区 | 久久精品一区二区三区国产主播 | 国产精品欧美日韩一区二区 | 欧美黄色大片免费观看 | 97青青| 国产一及毛片 | 成人永久免费视频 | 欧美在线观看黄色 | 亚洲午夜影院在线观看 | 久久久久一本一区二区青青蜜月 | 蜜桃网站在线观看 | 特级黄aaaaaaaaa毛片 | 思思久而久而蕉人 | 日韩黄在线观看 | 日韩99 | 中国免费一级毛片 | 亚洲电影在线观看高清免费 | 久久精品日产高清版的功能介绍 | 色就色 综合偷拍区91网 | 久久精品中文字幕一区 | 国产亚洲精久久久久久蜜臀 | 久久久国产视频 | 国产精品成人亚洲一区二区 | 国产美女视频一区 | xxxx69hd一hd| 久色伊人| 久久亚洲网 | 国产一国产一级毛片视频 | 久久亚洲成人网 | 中文字幕涩涩久久乱小说 | 国产午夜精品久久久久久久蜜臀 | 免费观看黄色影片 | 日韩精品久久久久久久电影99爱 | 久久激情小视频 | 午夜爱爱福利 | 成人不卡免费视频 | 欧美国产成人在线 | 欧美大片一级毛片 | 国产一区二区免费在线观看 | 亚洲午夜精选 | 精品无吗乱吗av国产爱色 |