Client ObjectInputStream error...

idkidk

Mitglied
Code:
public class Client {

    static final String IP = "etwas";
    static final int PORT = 1111;

    public static void main(String[] args) throws IOException, ClassNotFoundException {

        Socket client = null;
        try {
            client = new Socket(IP, PORT);
        } catch (IOException e) {
            System.out.println("Error connection to server:" + e);
        }
        
        ObjectOutputStream out = new ObjectOutputStream(client.getOutputStream());

        System.out.println("Sending request...");


        out.writeObject("bla bla".getBytes());
        out.writeObject(-1);

        ObjectInputStream in = new ObjectInputStream(client.getInputStream());
        String message = (String) in.readObject();
        System.out.println(message);


        out.writeObject("bla bla".getBytes());
        out.writeObject(-1);

            in.close();
            out.close();
            client.close();



    }

Hallo Leute, ich habe immer diese Exception:
Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: 54696D65
at java.base/java.i😵bjectInputStream.readStreamHeader(ObjectInputStream.java:877)
at java.base/java.i😵bjectInputStream.<init>(ObjectInputStream.java:350)
at ChatBoard.Client.main(Client.java:108)

Was soll ich mit ObjectInputStream tun? Danke!
 
Für's erste würde es uns helfen, wenn du sagst welche Zeile 108 ist. Dein gezeigter Code hat offensichtlich keine 108 Zeilen


out.writeObject("bla bla".getBytes());
out.writeObject(-1)
Diese Zeilen machen ansonsten spontan für mich keinen Sinn. Wenn du diesen String bzw. Bytes senden willst:
Java:
out.write("bla bla".getBytes());
out.writeBytes("bla bla");
out.writeChars("bla bla");
out.writeUTF("bla bla");

Für die -1:
Java:
out.writeInt(-1);
 
Zuletzt bearbeitet:
Für's erste würde es uns helfen, wenn du sagst welche Zeile 108 ist. Dein gezeigter Code hat offensichtlich keine 108 Zeilen



Diese Zeilen machen ansonsten spontan für mich keinen Sinn. Wenn du diesen String bzw. Bytes senden willst:
Java:
out.write("bla bla".getBytes());
out.writeBytes("bla bla");
out.writeChars("bla bla");
out.writeUTF("bla bla");

Für die -1:
Java:
out.writeInt(-1);
Danke für den Antwort: Zeile 108 ist
ObjectInputStream in = new ObjectInputStream(client.getInputStream());
 
Du hast uns ja eine sehr reduzierte Version deines Codes gegeben nehme ich an. Hast du vielleicht irgendwo eine Schleife um den Outoutstream/Socket?
 

Zurück
Oben