Java 应用程序无法与 RN-171 wifi 模块通信

问题描述 投票:0回答:1

我正在编写一个Java代码,它必须向电子系统发送一些数据并通过无线从电子系统接收一些数据。电子系统由PIC32和RN-171模块组成。我现在尝试连接到 RN-171 网络并发送和接收一些数据。虽然我可以在我的 java 代码中设置一个 OutputStream 并将一些数据正确发送到 RN-171,但我无法设置 InputStream 并且我的应用程序启动以下异常:

 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);          }

(箭头表示产生异常的代码行)

有解决办法吗?

java wifi pic
1个回答
0
投票

请使用以下代码:

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

ObjectOutputStream/ObjectInputStream 用于序列化/反序列化 Java 对象。在写入之前刷新输出流也是没有意义的。

© www.soinside.com 2019 - 2024. All rights reserved.