ObjectInputStream von 'frischem' Socket hält ganzes Programm auf



  • Guten Morgen,

    ich versuche mit der folgenden Methode eine Verbindung zum einem Server einzurichten über welche ich sowohl mehrmals Lesen als auch Schreiben möchte. Das Problem hierbei ist die Anweisung (#), denn sobald ich versuche den ObjectInputStream von dem übergebenen Socket zu erzeugen, bleibt der Client genau in dieser Zeile 'hängen', d.h. keine Ausgabe von dahinterliegenden Dummy-Ausgaben und keine Exception.

    Hat wer eine Idee was ich falsch gemacht habe?

    Danke im Voraus,
    Khadgar

    private String m_sIpAdress;  // Wird per Konstruktor zugewiesen
    private int m_iPort;         // Wird per Konstruktor zugewiesen
    private Socket m_Socket;
    private ObjectOutputStream m_Oos;
    private ObjectInputStream m_Ois;
    
    private void createConnection() {
      if(m_Socket == null) {
        try {
          m_Socket = new Socket(m_sIpAdress, m_iPort);
          m_Ois  = new ObjectInputStream(m_Socket.getInputStream()); // (#)
          m_Oos = new ObjectOutputStream(m_Socket.getOutputStream());
          m_Oos.writeObject(new Command("LOGIN SYN", m_sUsername));
          m_Oos.flush();
          new ClientThread(m_Ois, this).start();
        }
        catch(Exception e) {
          System.err.println("[ClientEngine.createConnection()] " + e);
        }
      }
    }
    

Anmelden zum Antworten