Client ObjectInputStream error...

Diskutiere Client ObjectInputStream error... im Java Basics - Anfänger-Themen Bereich.
Bitte aktiviere JavaScript!
I

idkidk

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.io_ObjectInputStream.readStreamHeader(ObjectInputStream.java:877)
at java.base/java.io_ObjectInputStream.<init>(ObjectInputStream.java:350)
at ChatBoard.Client.main(Client.java:108)

Was soll ich mit ObjectInputStream tun? Danke!
 
MoxxiManagarm

MoxxiManagarm

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:
I

idkidk

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());
 
MoxxiManagarm

MoxxiManagarm

Du hast uns ja eine sehr reduzierte Version deines Codes gegeben nehme ich an. Hast du vielleicht irgendwo eine Schleife um den Outoutstream/Socket?
 
Thema: 

Client ObjectInputStream error...

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben