ObjectInputStream 與 ObjectOutputStream

來源:互聯網
上載者:User

      用Socket通訊的時候如果要用到ObjectInputStream 與 ObjectOutputStream的話,要確保Server端與Client端ObjectInputStream 與 ObjectOutputStream產生的順序。

      在Server(Client)端產生一個ObjectInputStream流時必須確保在Client(Server)端產生一個ObjectOutputStream流。

      根據上述原則,合法的可能產生順序有

      1、

            Server                          Client

            ObjectInputStream      ObjectOutputStream

            ObjectOutputStream    ObjectInputStream

 

      2、

            Server                          Client

            ObjectOutputStream    ObjectInputStream

            ObjectInputStream      ObjectOutputStream

 

     其他情況都會引起阻塞。

 

    引用:

           public ObjectInputStream(InputStream in) throws IOException
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.

If a security manager is installed, this constructor will check for
the "enableSubclassImplementation" SerializablePermission when invoked
directly or indirectly by the constructor of a subclass which overrides
the ObjectInputStream.readFields or ObjectInputStream.readUnshared
methods.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.