Announcement

Collapse
No announcement yet.

Problem mit Socket->ObjectInputStream

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Socket->ObjectInputStream

    Hallo mal wieder,
    bei der Erstellung einer mittelprächtig komplexen Client-/Serveranwendung mittels Java trat folgendes Verhalten auf:

    Ich stelle von der Client-Anwendung eine Verbindung zu einer auf derselben Maschine laufenden Java-Server-Anwendung her indem ich folgendes tue:

    Socket s = new Socket("127.0.0.1",5555);

    nun versuche ich, da ich vom Host lesen und zum Host schreiben möchte und die Kommunikation auf Objekten basiert einen ObjectInputStream und einen ObjectOutputStream eizurichten. Für den InputStream erledige ich das folgendermasen:

    ObjectInputStream input = new ObjectInputStream(socket.getInputStream());

    und genau dort passiert es: Sobald oben zu sehender Aufruf stattfindet hängt sich die ClientApplikation auf. Die Serveranwendung blockiert aber NICHT, denn ich kann fröhlich weitere Verbindungen zum Server aufbauen, ohne dass ein Client alzulange warten muss.

    Es tritt keine Exception auf oder ähnliches. Der Client scheint nur EWIG auf den ObjectInputStream zu warten.

    Weiss jemand was das Ganze zu bedeuten hat ?

    Bin wiedereinmal für jede Hilfe dankbar

    Gruss

    Jürgen

  • #2
    Hi Jürgen,

    hast Du auf dem Server den Stream geleert (flush)?

    c

    Comment


    • #3
      Hi Thomas,
      das Problem hat sich bereits erledigt. Ich hatte mal wieder Tomaten auf den Augen, und habe mich im Konzept der Streams verheddert.
      Mir war schlichtweg nicht klar, dass der Server ersteinmal einen Output-Stream öffnen und etwas hinein schreiben muss, weill sonst der Konstruktoraufruf für den Input-Stream auf dem Client solange blockiert bis dies geschehen ist.

      Trotzdem vielen Dank

      Jürge

      Comment

      Working...
      X