1. 程式人生 > >eclipse基於socket通訊某報錯原因的解決方法

eclipse基於socket通訊某報錯原因的解決方法

最近在eclipse開發基於socket通訊方面,出現了一個錯誤 java.io.StreamCorruptedException: invalid stream header: 64000000
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
然後我開始查詢解決方法,其中我發現有兩種原因,可能會出現這個錯誤 1.在初始化連結時,如果先建立輸入流,再建立輸出流可能會報錯,正確建立順序如下:   ObjectOutputStream   output=new   ObjectOutputStream(socket.getOutputStream()); 

  ObjectInputStream   input=new   ObjectInputStream(socket.getInputStream()); 
2.很不幸,我的程式當時的建立順序是同上的,也就是說不是以上的原因,那是什麼原因呢,相信很多網友也不是上述原因, 經過各種排錯,發現原因竟然是socket的埠被阻塞了,也就是我們需要更換埠號來解決,具體做法如下: 例如我之前在一個properties裡面的 HOST=localhost
PORT=8888
我們只需要換成8000,就可以解決問題 實際上是 serverSocket = new ServerSocket(8000);
相信網友們已經解決了問題了吧,如果還有問題,歡迎反饋,謝謝