我已通过gps设备连接了我的服务器。而对于读取数据我正在使用代码
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
产生以下异常:
java.io.StreamCorruptedException: invalid stream header: 24312C38
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at com.tm4u.ServerSocketExample.main(ServerSocketExample.java:34)
答案 0 :(得分:1)
该异常表明您从套接字获取的数据流不是有效的对象流。对象流旨在读取由Java进程序列化的Java对象。如果您正在从GPS设备读取数据,我怀疑这是设备发送的流的类型。
答案 1 :(得分:0)
我确定你需要使用 DataInputStream 或 BufferedInputStream 和 InputStreamReader 来从GPS设备读取数据。
ObjectInputStream 用于读取其他应用程序通过 ObjectOutputStream 发送的Java对象。这些是不太兼容的流。例如:JVM对象序列化协议必须相同。我怀疑GPS设备制造商是否设计了这种设备。