2014-04-01 67 views
0

我正在編寫一個Java代碼,它必須將一些數據發送到elecronic系統並通過無線接收一些數據。電子系統由PIC32和RN-171模塊組成。我現在正嘗試連接到RN-171網絡併發送和接收一些數據。雖然我可以在Java代碼中設置一個OutputStream和一些數據正確地發送到RN-171,我不能設置一個InputStream和我的應用程序啓動以下異常:Java應用程序無法與RN-171 wifi模塊通信

java.io.StreamCorruptedException: invalid stream header: 2A48454C 
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804) 
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299) 
at TestController.sendParametersToWirelessModule(TestController.java:44) 
at TestController.main(TestController.java:30) 

的代碼在我的Java應用程序,其產生的例外是:

try{ 
//1. creating a socket to connect to the server 
requestSocket = new Socket("1.2.3.4", 2000); 
System.out.println("Connected to localhost in port 2004"); 
//2. get Input and Output streams 
out = new ObjectOutputStream(requestSocket.getOutputStream()); 
out.flush(); 
--> in = new ObjectInputStream(requestSocket.getInputStream()); 
//3: Communicating with the server 
sendMessage(message);   } 

(箭頭表示,其產生異常的代碼線)

是否有一個解決方案?任何人都可以幫助我嗎?

感謝

回答

0

使用下面的代碼來代替:

out = requestSocket.getOutputStream(); 
in = requestSocket.getInputStream(); 

的ObjectOutputStream/ObjectInputStream的使用序列化/反序列化的Java對象。在寫入之前清除輸出流也沒有意義。

相關問題