2014-04-01 4 views
0

일부 데이터를 전자 시스템으로 보내고 무선을 통해 데이터를 수신해야하는 Java 코드를 작성하고 있습니다. 전자 시스템은 PIC32 및 RN-171 모듈로 구성됩니다. 이제 RN-171 네트워크에 연결하고 데이터를 보내고 받으려고합니다. 내 자바 코드에서 할 수 있지만 OutputStream를 설정하고 제대로 RN-171에 일부 데이터를 전송, 내가 할 수 아닙니다의 InputStream 설정하고 내 응용 프로그램은 다음과 같은 예외 시작 : 내 자바Java 앱이 RN-171 무선 랜 모듈과 통신 할 수 없습니다.

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) 

코드를 예외를 발생 앱이다 :

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를/직렬화 자바 객체를 직렬화하는 데 사용됩니다. 출력 스트림을 쓰기 전에 플러시 할 필요도 없습니다.