исключение java.io в ObjectInputStream - PullRequest
0 голосов
/ 22 декабря 2011

Я подключил свой сервер с помощью устройства 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)

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

Исключение предполагает, что поток данных, который вы получаете из сокета, не является допустимым потоком объектов. Потоки объектов предназначены для чтения объектов Java, которые были сериализованы процессом Java. Если вы читаете данные с устройства GPS, я сомневаюсь, что это тип потока, который отправляет устройство.

0 голосов
/ 22 декабря 2011

Я уверен, что вам нужно использовать DataInputStream или BufferedInputStream с InputStreamReader для чтения данных с устройства GPS.

ObjectInputStream используется для чтения Java-объектов, отправленных другим приложением через ObjectOutputStream .Это менее совместимые потоки.Например: протокол сериализации объекта JVM должен быть таким же.Я сомневаюсь, что производитель устройства GPS разработал это устройство для использования таким образом.

...